Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/oxnz/design-patterns

design patterns impelemented in serveral programming languages
https://github.com/oxnz/design-patterns

Last synced: about 2 months ago
JSON representation

design patterns impelemented in serveral programming languages

Lists

README

        

#Design Patterns

[![Join the chat at https://gitter.im/oxnz/design-patterns](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/oxnz/design-patterns?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

[![Build Status](https://travis-ci.org/oxnz/design-patterns.svg?branch=master)](https://travis-ci.org/oxnz/design-patterns)

##Description

This is a collection of well known design patterns and some sample code how to implement them in C++, Java, Python and more(latter).

##Progress

Pattern | Description | C++ | Java | Python | PHP | Perl
:--------:|:--------:|:-----:|:------:|:-------:|:------:|:---:
singleton | [DONE](./src/singleton/singleton.md) | [DONE](./src/singleton/cpp) | [DONE](./src/singleton/java) | [DONE](./src/singleton/python) | [DONE](./src/singleton/php) | [DONE](./src/singleton/perl)
proxy | [DONE](./src/proxy/proxy.md) | [DONE](./src/proxy/cpp) | [DONE](./src/proxy/java) | [DONE](./src/proxy/python) | [DONE](./src/proxy/php) | [DONE](./src/proxy/perl)
builder | [DONE](./src/builder/builder.md) | [DONE](./src/builder/cpp) | [DONE](./src/builder/java) | [DONE](./src/builder/python) | [DONE](./src/builder/php) | [DONE](./src/builder/perl)
command | [DONE](./src/command/command.md) | [DONE](./src/command/cpp) | [DONE](./src/command/java) | [DONE](./src/command/python) | [DONE](./src/command/php) | [DONE](./src/command/perl)
decorator | [DONE](./src/decorator/decorator.md) | [DONE](./src/decorator/cpp) | [DONE](./src/decorator/java) | [DONE](./src/decorator/python) | [DONE](./src/decorator/php) | [DONE](./src/decorator/perl)
facade | [DONE](./src/facade/facade.md) | [DONE](./src/facade/cpp) | [DONE](./src/facade/java) | [DONE](./src/facade/python) | [DONE](./src/facade/php) | [DONE](./src/facade/perl)
observer | [DONE](./src/observer/observer.md) | [DONE](./src/observer/cpp) | [DONE](./src/observer/java) | [DONE](./src/observer/python) | [DONE](./src/observer/php) | [DONE](./src/observer/perl)
template | [DONE](./src/template/template.md) | [DONE](./src/template/cpp) | [DONE](./src/template/java) | [DONE](./src/template/python) | [DONE](./src/template/php) | [DONE](./src/template/perl)
adapter | [DONE](./src/adapter/adapter.md) | [DONE](./src/adapter/cpp) | [DONE](./src/adapter/java) | [DONE](./src/adapter/python) | [DONE](./src/adapter/php) | [DONE](./src/adapter/perl)
flyweight | [DONE](./src/flyweight/flyweight.md) | [DONE](./src/flyweight/cpp) | [DONE](./src/flyweight/java) | [DONE](./src/flyweight/python) | [DONE](./src/flyweight/php) | [DONE](./src/flyweight/perl)
bridge | [DONE](./src/bridge/bridge.md) | [DONE](./src/bridge/cpp) | [DONE](./src/bridge/java) | [DONE](./src/bridge/python) | [DONE](./src/bridge/php) | [DONE](./src/bridge/perl)
composite | [DONE](./src/composite/composite.md) | [DONE](./src/composite/cpp) | [DONE](./src/composite/java) | [DONE](./src/composite/python) | [DONE](./src/composite/php) | [DONE](./src/composite/perl)
interpreter | [DONE](./src/interpreter/interpreter.md) | [DONE](./src/interpreter/cpp) | [DONE](./src/interpreter/java) | [TODO] | [DONE](./src/interpreter/php) | [DONE](./src/interpreter/perl)
mediator | [DONE](./src/mediator/mediator.md) | [DONE](./src/mediator/cpp) | [DONE](./src/mediator/java) | [DONE](./src/mediator/python) | [DONE](./src/mediator/php) | [DONE](./src/mediator/perl)
memento | [DONE](./src/memento/memento.md) | [DONE](./src/memento/cpp) | [DONE](./src/memento/java) | [DONE](./src/memento/python) | [DONE](./src/memento/php) | [DONE](./src/memento/perl)
state | [DONE](./src/state/state.md) | [DONE](./src/state/cpp) | [DONE](./src/state/java) | [DONE](./src/state/python) | [DONE](./src/state/php) | [DONE](./src/state/perl)
prototype | [DONE](./src/prototype/prototype.md) | [DONE](./src/prototype/cpp) | [DONE](./src/prototype/java) | [DONE](./src/prototype/python) | [DONE](./src/prototype/php) | [DONE](./src/prototype/perl)
strategy | [DONE](./src/strategy/strategy.md) | [DONE](./src/strategy/cpp) | [DONE](./src/strategy/java) | [DONE](./src/strategy/python) | [DONE](./src/strategy/php) | [DONE](./src/strategy/perl)
visitor | [DONE](./src/visitor/visitor.md) | [DONE](./src/visitor/cpp) | [DONE](./src/visitor/java) | [DONE](./src/visitor/python) | [DONE](./src/visitor/php) | [DONE](./src/visitor/perl)
simple-factory | [DONE](./src/simple-factory/simple-factory.md) | [DONE](./src/simple-factory/cpp) | [DONE](./src/simple-factory/java) | [TODO] | [DONE](./src/simple-factory/php) | [DONE](./src/simple-factory/perl)
abstract-factory | [DONE](./src/abstract-factory/abstract-factory.md) | [DONE](./src/abstract-factory/cpp) | [DONE](./src/abstract-factory/java) | [DONE](./src/abstract-factory/python) | [DONE](./src/abstract-factory/php) | [DONE](./src/abstract-factory/perl)
factory-method | [DONE](./src/factory-method/factory-method.md) | [DONE](./src/factory-method/cpp) | [DONE](./src/factory-method/java) | [DONE](./src/factory-method/python) | [DONE](./src/factory-method/php) | [DONE](./src/factory-method/perl)
chain-of-responsibility | [DONE](./src/chain-of-responsibility/chain-of-responsibility.md) | [DONE](./src/chain-of-responsibility/cpp) | [DONE](./src/chain-of-responsibility/java) | [DONE](./src/chain-of-responsibility/python) | [DONE](./src/chain-of-responsibility/php) | [DONE](./src/chain-of-responsibility/perl)
iterator | [DONE](./src/iterator/iterator.md) | [DONE](./src/iterator/cpp) | [TODO] | [DONE](./src/iterator/python) | [DONE](./src/iterator/perl)
null-object | [DONE](./src/null-object/null-object.md) | [DONE](./src/null-object/cpp) | [TODO] | [DONE](./src/null-object/python) | [DONE](./src/null-object/php)
object-pool | [DONE](./src/object-pool/object-pool.md) | [TODO] | [TODO] | [DONE](./src/object-pool/python)
private-class-data | [TODO] | [TODO] | [TODO] | [TODO]

##Contribute

Please feel free to fork and extend existing or add your own examples and send a pull request with your changes!

##License

[The MIT License](./LICENSE)