Change index.rst to README.rst

remove all pattern's README.md
This commit is contained in:
Faust
2015-04-05 06:05:24 +02:00
parent 818c221c78
commit ff327e3a0c
77 changed files with 45 additions and 647 deletions

View File

@@ -0,0 +1,71 @@
`Strategy`_
===========
Terminology:
------------
- Context
- Strategy
- Concrete Strategy
Purpose
-------
To separate strategies and to enable fast switching between them. Also
this pattern is a good alternative to inheritance (instead of having an
abstract class that is extended).
Examples
--------
- sorting a list of objects, one strategy by date, the other by id
- simplify unit testing: e.g. switching between file and in-memory
storage
UML Diagram
-----------
.. image:: uml/uml.png
:alt: Alt Strategy UML Diagram
:align: center
Code
----
You can also find these code on `GitHub`_
DateComparator.php
.. literalinclude:: DateComparator.php
:language: php
:linenos:
IdComparator.php
.. literalinclude:: IdComparator.php
:language: php
:linenos:
ObjectCollection.php
.. literalinclude:: ObjectCollection.php
:language: php
:linenos:
ComparatorInterface.php
.. literalinclude:: ComparatorInterface.php
:language: php
:linenos:
Test
----
Tests/StrategyTest.php
.. literalinclude:: Tests/StrategyTest.php
:language: php
:linenos:
.. _`GitHub`: https://github.com/domnikl/DesignPatternsPHP/tree/master/Behavioral/Strategy
.. _`Strategy`: http://en.wikipedia.org/wiki/Strategy_pattern