diff --git a/Behavioral/README.md b/Behavioral/README.md new file mode 100644 index 0000000..470d3fd --- /dev/null +++ b/Behavioral/README.md @@ -0,0 +1,13 @@ +# Behavioral + +* [ChainOfResponsibilities](ChainOfResponsibilities) [:notebook:](http://en.wikipedia.org/wiki/Chain_of_responsibility_pattern) +* [Command](Command) [:notebook:](http://en.wikipedia.org/wiki/Command_pattern) +* [Iterator](Iterator) [:notebook:](http://en.wikipedia.org/wiki/Iterator_pattern) +* [Mediator](Mediator) [:notebook:](http://en.wikipedia.org/wiki/Mediator_pattern) +* [NullObject](NullObject) [:notebook:](http://en.wikipedia.org/wiki/Null_Object_pattern) +* [Observer](Observer) [:notebook:](http://en.wikipedia.org/wiki/Observer_pattern) +* [Specification](Specification) [:notebook:](http://en.wikipedia.org/wiki/Specification_pattern) +* [State](State) [:notebook:](http://en.wikipedia.org/wiki/State_pattern) +* [Strategy](Strategy) [:notebook:](http://en.wikipedia.org/wiki/Strategy_pattern) +* [TemplateMethod](TemplateMethod) [:notebook:](http://en.wikipedia.org/wiki/Template_method_pattern) +* [Visitor](Visitor) [:notebook:](http://en.wikipedia.org/wiki/Visitor_pattern) diff --git a/Creational/README.md b/Creational/README.md new file mode 100644 index 0000000..d31a692 --- /dev/null +++ b/Creational/README.md @@ -0,0 +1,11 @@ +# Creational + +* [AbstractFactory](AbstractFactory) [:notebook:](http://en.wikipedia.org/wiki/Abstract_factory_pattern) +* [Builder](Builder) [:notebook:](http://en.wikipedia.org/wiki/Builder_pattern) +* [FactoryMethod](FactoryMethod) [:notebook:](http://en.wikipedia.org/wiki/Factory_method_pattern) +* [Multiton](Multiton) (is considered an anti-pattern! :no_entry:) +* [Pool](Pool) [:notebook:](http://en.wikipedia.org/wiki/Object_pool_pattern) +* [Prototype](Prototype) [:notebook:](http://en.wikipedia.org/wiki/Prototype_pattern) +* [SimpleFactory](SimpleFactory) +* [Singleton](Singleton) [:notebook:](http://en.wikipedia.org/wiki/Singleton_pattern) (is considered an anti-pattern! :no_entry:) +* [StaticFactory](StaticFactory) diff --git a/More/README.md b/More/README.md new file mode 100644 index 0000000..ac8709b --- /dev/null +++ b/More/README.md @@ -0,0 +1,4 @@ +# Others + +* [Delegation](Delegation) [:notebook:](http://en.wikipedia.org/wiki/Delegation_pattern) +* [ServiceLocator](ServiceLocator) [:notebook:](http://en.wikipedia.org/wiki/Service_locator_pattern) \ No newline at end of file diff --git a/README.md b/README.md index 56fd4df..4313611 100644 --- a/README.md +++ b/README.md @@ -10,46 +10,47 @@ I think the problem with patterns is that often people do know them but don't kn The patterns can be structured in roughly three different categories. Please click on the [:notebook:](http://en.wikipedia.org/wiki/Software_design_pattern) for a full explanation of the pattern on Wikipedia. -### Creational +### [Creational](Creational) -* [AbstractFactory](AbstractFactory) [:notebook:](http://en.wikipedia.org/wiki/Abstract_factory_pattern) -* [Builder](Builder) [:notebook:](http://en.wikipedia.org/wiki/Builder_pattern) -* [SimpleFactory](SimpleFactory) -* [FactoryMethod](FactoryMethod) [:notebook:](http://en.wikipedia.org/wiki/Factory_method_pattern) -* [StaticFactory](StaticFactory) -* [Prototype](Prototype) [:notebook:](http://en.wikipedia.org/wiki/Prototype_pattern) -* [Pool](Pool) [:notebook:](http://en.wikipedia.org/wiki/Object_pool_pattern) -* [Singleton](Singleton) [:notebook:](http://en.wikipedia.org/wiki/Singleton_pattern) (is considered an anti-pattern! :no_entry:) -* [Multiton](Multiton) (is considered an anti-pattern! :no_entry:) +* [AbstractFactory](Creational/AbstractFactory) [:notebook:](http://en.wikipedia.org/wiki/Abstract_factory_pattern) +* [Builder](Creational/Builder) [:notebook:](http://en.wikipedia.org/wiki/Builder_pattern) +* [SimpleFactory](Creational/SimpleFactory) +* [FactoryMethod](Creational/FactoryMethod) [:notebook:](http://en.wikipedia.org/wiki/Factory_method_pattern) +* [StaticFactory](Creational/StaticFactory) +* [Prototype](Creational/Prototype) [:notebook:](http://en.wikipedia.org/wiki/Prototype_pattern) +* [Pool](Creational/Pool) [:notebook:](http://en.wikipedia.org/wiki/Object_pool_pattern) +* [Singleton](Creational/Singleton) [:notebook:](http://en.wikipedia.org/wiki/Singleton_pattern) (is considered an anti-pattern! :no_entry:) +* [Multiton](Creational/Multiton) (is considered an anti-pattern! :no_entry:) -### Structural +### [Structural](Structural) -* [Adapter](Adapter) [:notebook:](http://en.wikipedia.org/wiki/Adapter_pattern) -* [Composite](Composite) [:notebook:](http://en.wikipedia.org/wiki/Composite_pattern) -* [Decorator](Decorator) [:notebook:](http://en.wikipedia.org/wiki/Decorator_pattern) -* [Facade](Facade) [:notebook:](http://en.wikipedia.org/wiki/Facade_pattern) -* [Proxy](Proxy) [:notebook:](http://en.wikipedia.org/wiki/Proxy_pattern) -* [Registry](Registry) [:notebook:](http://en.wikipedia.org/wiki/Service_locator_pattern) -* [FluentInterface](FluentInterface) [:notebook:](http://en.wikipedia.org/wiki/Fluent_interface) -* [DataMapper](DataMapper) [:notebook:](http://en.wikipedia.org/wiki/Data_mapper_pattern) -* [DependencyInjection](DependencyInjection) [:notebook:](http://en.wikipedia.org/wiki/Dependency_injection) +* [Adapter](Structural/Adapter) [:notebook:](http://en.wikipedia.org/wiki/Adapter_pattern) +* [Composite](Structural/Composite) [:notebook:](http://en.wikipedia.org/wiki/Composite_pattern) +* [DataMapper](Structural/DataMapper) [:notebook:](http://en.wikipedia.org/wiki/Data_mapper_pattern) +* [Decorator](Structural/Decorator) [:notebook:](http://en.wikipedia.org/wiki/Decorator_pattern) +* [DependencyInjection](Structural/DependencyInjection) [:notebook:](http://en.wikipedia.org/wiki/Dependency_injection) +* [Facade](Structural/Facade) [:notebook:](http://en.wikipedia.org/wiki/Facade_pattern) +* [FluentInterface](Structural/FluentInterface) [:notebook:](http://en.wikipedia.org/wiki/Fluent_interface) +* [Proxy](Structural/Proxy) [:notebook:](http://en.wikipedia.org/wiki/Proxy_pattern) +* [Registry](Structural/Registry) [:notebook:](http://en.wikipedia.org/wiki/Service_locator_pattern) -### Behavioral +### [Behavioral](Behavioral) -* [ChainOfResponsibilities](ChainOfResponsibilities) [:notebook:](http://en.wikipedia.org/wiki/Chain_of_responsibility_pattern) -* [Command](Command) [:notebook:](http://en.wikipedia.org/wiki/Command_pattern) -* [Iterator](Iterator) [:notebook:](http://en.wikipedia.org/wiki/Iterator_pattern) -* [Mediator](Mediator) [:notebook:](http://en.wikipedia.org/wiki/Mediator_pattern) -* [NullObject](NullObject) [:notebook:](http://en.wikipedia.org/wiki/Null_Object_pattern) -* [Observer](Observer) [:notebook:](http://en.wikipedia.org/wiki/Observer_pattern) -* [Specification](Specification) [:notebook:](http://en.wikipedia.org/wiki/Specification_pattern) -* [State](State) [:notebook:](http://en.wikipedia.org/wiki/State_pattern) -* [Strategy](Strategy) [:notebook:](http://en.wikipedia.org/wiki/Strategy_pattern) -* [TemplateMethod](TemplateMethod) [:notebook:](http://en.wikipedia.org/wiki/Template_method_pattern) -* [Visitor](Visitor) [:notebook:](http://en.wikipedia.org/wiki/Visitor_pattern) +* [ChainOfResponsibilities](Behavioral/ChainOfResponsibilities) [:notebook:](http://en.wikipedia.org/wiki/Chain_of_responsibility_pattern) +* [Command](Behavioral/Command) [:notebook:](http://en.wikipedia.org/wiki/Command_pattern) +* [Iterator](Behavioral/Iterator) [:notebook:](http://en.wikipedia.org/wiki/Iterator_pattern) +* [Mediator](Behavioral/Mediator) [:notebook:](http://en.wikipedia.org/wiki/Mediator_pattern) +* [NullObject](Behavioral/NullObject) [:notebook:](http://en.wikipedia.org/wiki/Null_Object_pattern) +* [Observer](Behavioral/Observer) [:notebook:](http://en.wikipedia.org/wiki/Observer_pattern) +* [Specification](Behavioral/Specification) [:notebook:](http://en.wikipedia.org/wiki/Specification_pattern) +* [State](Behavioral/State) [:notebook:](http://en.wikipedia.org/wiki/State_pattern) +* [Strategy](Behavioral/Strategy) [:notebook:](http://en.wikipedia.org/wiki/Strategy_pattern) +* [TemplateMethod](Behavioral/TemplateMethod) [:notebook:](http://en.wikipedia.org/wiki/Template_method_pattern) +* [Visitor](Behavioral/Visitor) [:notebook:](http://en.wikipedia.org/wiki/Visitor_pattern) -### More -* [Delegation](Delegation) [:notebook:](http://en.wikipedia.org/wiki/Delegation_pattern) +### [More](More) +* [Delegation](More/Delegation) [:notebook:](http://en.wikipedia.org/wiki/Delegation_pattern) +* [ServiceLocator](More/ServiceLocator) [:notebook:](http://en.wikipedia.org/wiki/Service_locator_pattern) ## Contribute diff --git a/Structural/README.md b/Structural/README.md new file mode 100644 index 0000000..659d7e2 --- /dev/null +++ b/Structural/README.md @@ -0,0 +1,11 @@ +# Structural + +* [Adapter](Adapter) [:notebook:](http://en.wikipedia.org/wiki/Adapter_pattern) +* [Composite](Composite) [:notebook:](http://en.wikipedia.org/wiki/Composite_pattern) +* [DataMapper](DataMapper) [:notebook:](http://en.wikipedia.org/wiki/Data_mapper_pattern) +* [Decorator](Decorator) [:notebook:](http://en.wikipedia.org/wiki/Decorator_pattern) +* [DependencyInjection](DependencyInjection) [:notebook:](http://en.wikipedia.org/wiki/Dependency_injection) +* [Facade](Facade) [:notebook:](http://en.wikipedia.org/wiki/Facade_pattern) +* [FluentInterface](FluentInterface) [:notebook:](http://en.wikipedia.org/wiki/Fluent_interface) +* [Proxy](Proxy) [:notebook:](http://en.wikipedia.org/wiki/Proxy_pattern) +* [Registry](Registry) [:notebook:](http://en.wikipedia.org/wiki/Service_locator_pattern)