mirror of
https://github.com/DesignPatternsPHP/DesignPatternsPHP.git
synced 2025-07-29 19:20:18 +02:00
refactored README
This commit is contained in:
47
README.md
47
README.md
@@ -1,11 +1,48 @@
|
|||||||
# design patterns in PHP #
|
# design patterns in PHP
|
||||||
|
|
||||||
[](https://travis-ci.org/Trismegiste/DesignPatternsPHP)
|
[](https://travis-ci.org/domnikl/DesignPatternsPHP)
|
||||||
|
|
||||||
This is a collection of known design patterns and some sample code how to implement them in PHP. Every pattern has a
|
This is a collection of known design patterns and some sample code how to implement them in PHP. Every pattern has a small list of examples (most of them from Zend Framework, Symfony2 or Doctrine2 as I'm most familiar with this software).
|
||||||
small list of examples (most of them from Zend Framework or Doctrine2 as I'm most familiar with this software).
|
|
||||||
|
|
||||||
I think the problem with patterns is that often people do know them but don't know when to apply which.
|
I think the problem with patterns is that often people do know them but don't know when to apply which.
|
||||||
|
|
||||||
*Please feel free to fork and add your own examples!*
|
The patterns can be structured in roughly three different categories:
|
||||||
|
|
||||||
|
## Creational
|
||||||
|
|
||||||
|
* (AbstractFactory)[tree/master/AbstractFactory]
|
||||||
|
* (Builder)[tree/master/Builder]
|
||||||
|
* (SimpleFactory)[tree/master/SimpleFactory]
|
||||||
|
* (FactoryMethod)[tree/master/FactoryMethod]
|
||||||
|
* (StaticFactory)[tree/master/StaticFactory]
|
||||||
|
* (Prototype)[tree/master/Prototype]
|
||||||
|
* (Singleton)[tree/master/Singleton] (is considered an anti-pattern! :no_entry:)
|
||||||
|
* (Multiton)[tree/master/Multiton] (is considered an anti-pattern! :no_entry:)
|
||||||
|
|
||||||
|
## Structural
|
||||||
|
|
||||||
|
* (Adapter)[tree/master/Adapter]
|
||||||
|
* (Composite)[tree/master/Composite]
|
||||||
|
* (Decorator)[tree/master/Decorator]
|
||||||
|
* (Facade)[tree/master/Facade]
|
||||||
|
* (Proxy)[tree/master/Proxy]
|
||||||
|
* (Registry)[tree/master/Registry]
|
||||||
|
* (FluentInterface)[tree/master/FluentInterface]
|
||||||
|
* (DataMapper)[tree/master/DataMapper]
|
||||||
|
* (DependencyInjection)[tree/master/DependencyInjection]
|
||||||
|
|
||||||
|
## Behavioral
|
||||||
|
|
||||||
|
* (ChainOfResponsibilities)[tree/master/ChainOfResponsibilities]
|
||||||
|
* (Command)[tree/master/Command]
|
||||||
|
* (Iterator)[tree/master/Iterator]
|
||||||
|
* (Mediator)[tree/master/Mediator]
|
||||||
|
* (NullObject)[tree/master/NullObject]
|
||||||
|
* (Observer)[tree/master/Observer]
|
||||||
|
* (StatusPattern)[tree/master/StatusPattern]
|
||||||
|
* (Strategy)[tree/master/Strategy]
|
||||||
|
* (TemplateMethod)[tree/master/TemplateMethod]
|
||||||
|
* (Visitor)[tree/master/Visitor]
|
||||||
|
|
||||||
|
*Please feel free to fork and extend existing or add your own examples!*
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user