A collection of design patterns and idioms in Python.

Arovit Narula 760d693ce1 Small change in output : Methods of factory should print 'We have...' since they are the once only producing the object', object specific methods can start from 'It is ...' 11 年之前
.gitignore 2476b4b5dd Remove __pycache__ and add __pycache__ to .gitignore 11 年之前
3-tier.py 8b10122c11 Fixed python3 errors 11 年之前
README.md e27509abdb Update README.md 11 年之前
abstract_factory.py 760d693ce1 Small change in output : Methods of factory should print 'We have...' since they are the once only producing the object', object specific methods can start from 'It is ...' 11 年之前
adapter.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 年之前
append_output.sh ec8d735baa Don't repeat the ### OUTPUT ### line 11 年之前
borg.py f61504c1bd Add output to bottom of scripts 11 年之前
bridge.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 年之前
builder.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 年之前
catalog.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 年之前
chain.py 1878a5310b Minor pep8 changes. Most salient is that membership test should be 'x not in y' whereas 'not x in y' was being used. 11 年之前
command.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 年之前
composite.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 年之前
decorator.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 年之前
facade.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 年之前
factory_method.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 年之前
flyweight.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 年之前
foo.txt 3511c20bf6 Added foo.txt for command.py script. 12 年之前
graph_search.py 1878a5310b Minor pep8 changes. Most salient is that membership test should be 'x not in y' whereas 'not x in y' was being used. 11 年之前
iterator.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 年之前
mediator.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 年之前
memento.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 年之前
mvc.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 年之前
null.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 年之前
observer.py 1878a5310b Minor pep8 changes. Most salient is that membership test should be 'x not in y' whereas 'not x in y' was being used. 11 年之前
pool.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 年之前
prototype.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 年之前
proxy.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 年之前
publish_subscribe.py 1878a5310b Minor pep8 changes. Most salient is that membership test should be 'x not in y' whereas 'not x in y' was being used. 11 年之前
state.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 年之前
strategy.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 年之前
template.py f61504c1bd Add output to bottom of scripts 11 年之前
visitor.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 年之前

README.md

python-patterns

A collection of design patterns implemented (by other people) in python.

When an implementation is added or modified, be sure to update this file and rerun append_output.sh to keep the output comments at the bottom up to date.

Current Patterns:

  • 3-tier
  • abstract_factory
  • adapter
  • borg
  • bridge
  • builder
  • catalog
  • chain
  • command
  • composite
  • decorator
  • facade
  • factory_method
  • flyweight
  • graph_search
  • iterator
  • mediator
  • memento
  • mvc
  • null
  • observer
  • pool
  • prototype
  • proxy
  • publish_subscribe
  • state
  • strategy
  • template
  • visitor