diff --git a/Strategy/README.md b/Strategy/README.md new file mode 100644 index 0000000..88f43dd --- /dev/null +++ b/Strategy/README.md @@ -0,0 +1,16 @@ +# 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 diff --git a/Strategy/index.php b/Strategy/index.php index d59819a..d04caa2 100644 --- a/Strategy/index.php +++ b/Strategy/index.php @@ -2,24 +2,6 @@ namespace DesignPatterns\Strategy; -/** - * strategy pattern - * - * 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 - * - */ - $elements = array( array( 'id' => 2,