refactored README

This commit is contained in:
Dominik Liebler
2013-09-03 14:35:47 +02:00
parent ca41d4d362
commit f0b281caa2

View File

@@ -1,11 +1,48 @@
# design patterns in PHP # # design patterns in PHP
[![Build Status](https://travis-ci.org/Trismegiste/DesignPatternsPHP.png?branch=master)](https://travis-ci.org/Trismegiste/DesignPatternsPHP) [![Build Status](https://travis-ci.org/domnikl/DesignPatternsPHP.png?branch=master)](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!*