A collection of design patterns and idioms in Python.

Jay Tyler 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 years ago
.gitignore 2476b4b5dd Remove __pycache__ and add __pycache__ to .gitignore 11 years ago
3-tier.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
README.md e27509abdb Update README.md 11 years ago
abstract_factory.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
adapter.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
append_output.sh ec8d735baa Don't repeat the ### OUTPUT ### line 11 years ago
borg.py f61504c1bd Add output to bottom of scripts 11 years ago
bridge.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
builder.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
catalog.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
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 years ago
command.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
composite.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
decorator.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
facade.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
factory_method.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
flyweight.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
foo.txt 3511c20bf6 Added foo.txt for command.py script. 12 years ago
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 years ago
iterator.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
mediator.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
memento.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
mvc.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
null.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
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 years ago
pool.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
prototype.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
proxy.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
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 years ago
state.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
strategy.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago
template.py f61504c1bd Add output to bottom of scripts 11 years ago
visitor.py 5d794ceecb Your code is too weak for PEP8. You lack DISCIPLINE 11 years ago

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