├── .gitignore ├── .vscode └── settings.json ├── Design-patterns.pdf ├── LICENSE ├── README.md ├── behavioral ├── chain_of_responsibility │ ├── Chain of responsibility.graphml │ ├── Chain of responsibility.png │ ├── chain_of_responsibility_1.py │ └── chain_of_responsibility_2.py ├── command │ ├── Command.graphml │ ├── Command.png │ └── command_1.py ├── iterator │ ├── Iterator.graphml │ ├── Iterator.png │ └── iterator_1.py ├── mediator │ ├── Mediator 1.graphml │ ├── Mediator 1.png │ ├── Mediator 2.graphml │ ├── Mediator 2.png │ └── mediator.py ├── memento │ ├── Memento.graphml │ ├── Memento.png │ └── memento_1.py ├── observer │ ├── Observer.graphml │ ├── Observer.png │ └── observer_1.py ├── state │ ├── State 1.graphml │ ├── State 1.png │ ├── State 2.graphml │ ├── State 2.png │ ├── not_state.py │ ├── state_1.py │ └── state_2.py ├── strategy │ ├── Strategy.graphml │ ├── Strategy.png │ └── strategy_1.py └── template_method │ ├── Template Method.graphml │ ├── Template Method.png │ ├── template_method_1.py │ └── template_method_2.py ├── creational ├── builder │ ├── Builder.graphml │ ├── Builder.png │ └── builder_1.py ├── factories │ ├── Abstract Factory │ │ ├── Abstract Factory.graphml │ │ ├── Abstract Factory.png │ │ └── abstract_factory.py │ ├── Factory Method │ │ ├── Factory Method.graphml │ │ ├── Factory Method.png │ │ └── factory_method.py │ └── Simple Factory │ │ ├── Simple Factory.graphml │ │ ├── Simple Factory.png │ │ ├── simple_factory_1.py │ │ └── simple_factory_2.py ├── prototype │ ├── Prototype.graphml │ ├── Prototype.png │ ├── mutáveis_e_imutáveis.txt │ └── prototype_1.py └── singleton │ ├── Singleton.graphml │ ├── Singleton.png │ ├── monostate_1.py │ ├── monostate_2.py │ ├── singleton_1.py │ ├── singleton_2.py │ └── singleton_3.py ├── main.py ├── mypy.ini └── structural ├── adapter ├── Adapter - Class.graphml ├── Adapter - Class.png ├── Adapter - Object.graphml ├── Adapter - Object.png └── adapter_1.py ├── bridge ├── Bridge.graphml ├── Bridge.png └── bridge_1.py ├── composite ├── BST.graphml ├── BST.png ├── Composite.graphml ├── Composite.png └── composite.py ├── decorator ├── Decorator.graphml ├── Decorator.png ├── Hotdog.graphml ├── Hotdog.png ├── Ingredient.graphml ├── Ingredient.png ├── decorator_1.py └── decorator_2.py ├── facade ├── Façade.graphml ├── Façade.png └── facade_1.py ├── flyweight ├── Flyweight.graphml ├── Flyweight.png └── flyweight.py └── proxy ├── Proxy.graphml ├── Proxy.png └── proxy_1.py /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /Design-patterns.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/Design-patterns.pdf -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/README.md -------------------------------------------------------------------------------- /behavioral/chain_of_responsibility/Chain of responsibility.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/chain_of_responsibility/Chain of responsibility.graphml -------------------------------------------------------------------------------- /behavioral/chain_of_responsibility/Chain of responsibility.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/chain_of_responsibility/Chain of responsibility.png -------------------------------------------------------------------------------- /behavioral/chain_of_responsibility/chain_of_responsibility_1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/chain_of_responsibility/chain_of_responsibility_1.py -------------------------------------------------------------------------------- /behavioral/chain_of_responsibility/chain_of_responsibility_2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/chain_of_responsibility/chain_of_responsibility_2.py -------------------------------------------------------------------------------- /behavioral/command/Command.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/command/Command.graphml -------------------------------------------------------------------------------- /behavioral/command/Command.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/command/Command.png -------------------------------------------------------------------------------- /behavioral/command/command_1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/command/command_1.py -------------------------------------------------------------------------------- /behavioral/iterator/Iterator.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/iterator/Iterator.graphml -------------------------------------------------------------------------------- /behavioral/iterator/Iterator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/iterator/Iterator.png -------------------------------------------------------------------------------- /behavioral/iterator/iterator_1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/iterator/iterator_1.py -------------------------------------------------------------------------------- /behavioral/mediator/Mediator 1.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/mediator/Mediator 1.graphml -------------------------------------------------------------------------------- /behavioral/mediator/Mediator 1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/mediator/Mediator 1.png -------------------------------------------------------------------------------- /behavioral/mediator/Mediator 2.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/mediator/Mediator 2.graphml -------------------------------------------------------------------------------- /behavioral/mediator/Mediator 2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/mediator/Mediator 2.png -------------------------------------------------------------------------------- /behavioral/mediator/mediator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/mediator/mediator.py -------------------------------------------------------------------------------- /behavioral/memento/Memento.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/memento/Memento.graphml -------------------------------------------------------------------------------- /behavioral/memento/Memento.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/memento/Memento.png -------------------------------------------------------------------------------- /behavioral/memento/memento_1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/memento/memento_1.py -------------------------------------------------------------------------------- /behavioral/observer/Observer.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/observer/Observer.graphml -------------------------------------------------------------------------------- /behavioral/observer/Observer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/observer/Observer.png -------------------------------------------------------------------------------- /behavioral/observer/observer_1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/observer/observer_1.py -------------------------------------------------------------------------------- /behavioral/state/State 1.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/state/State 1.graphml -------------------------------------------------------------------------------- /behavioral/state/State 1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/state/State 1.png -------------------------------------------------------------------------------- /behavioral/state/State 2.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/state/State 2.graphml -------------------------------------------------------------------------------- /behavioral/state/State 2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/state/State 2.png -------------------------------------------------------------------------------- /behavioral/state/not_state.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/state/not_state.py -------------------------------------------------------------------------------- /behavioral/state/state_1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/state/state_1.py -------------------------------------------------------------------------------- /behavioral/state/state_2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/state/state_2.py -------------------------------------------------------------------------------- /behavioral/strategy/Strategy.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/strategy/Strategy.graphml -------------------------------------------------------------------------------- /behavioral/strategy/Strategy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/strategy/Strategy.png -------------------------------------------------------------------------------- /behavioral/strategy/strategy_1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/strategy/strategy_1.py -------------------------------------------------------------------------------- /behavioral/template_method/Template Method.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/template_method/Template Method.graphml -------------------------------------------------------------------------------- /behavioral/template_method/Template Method.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/template_method/Template Method.png -------------------------------------------------------------------------------- /behavioral/template_method/template_method_1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/template_method/template_method_1.py -------------------------------------------------------------------------------- /behavioral/template_method/template_method_2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/behavioral/template_method/template_method_2.py -------------------------------------------------------------------------------- /creational/builder/Builder.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/builder/Builder.graphml -------------------------------------------------------------------------------- /creational/builder/Builder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/builder/Builder.png -------------------------------------------------------------------------------- /creational/builder/builder_1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/builder/builder_1.py -------------------------------------------------------------------------------- /creational/factories/Abstract Factory/Abstract Factory.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/factories/Abstract Factory/Abstract Factory.graphml -------------------------------------------------------------------------------- /creational/factories/Abstract Factory/Abstract Factory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/factories/Abstract Factory/Abstract Factory.png -------------------------------------------------------------------------------- /creational/factories/Abstract Factory/abstract_factory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/factories/Abstract Factory/abstract_factory.py -------------------------------------------------------------------------------- /creational/factories/Factory Method/Factory Method.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/factories/Factory Method/Factory Method.graphml -------------------------------------------------------------------------------- /creational/factories/Factory Method/Factory Method.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/factories/Factory Method/Factory Method.png -------------------------------------------------------------------------------- /creational/factories/Factory Method/factory_method.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/factories/Factory Method/factory_method.py -------------------------------------------------------------------------------- /creational/factories/Simple Factory/Simple Factory.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/factories/Simple Factory/Simple Factory.graphml -------------------------------------------------------------------------------- /creational/factories/Simple Factory/Simple Factory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/factories/Simple Factory/Simple Factory.png -------------------------------------------------------------------------------- /creational/factories/Simple Factory/simple_factory_1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/factories/Simple Factory/simple_factory_1.py -------------------------------------------------------------------------------- /creational/factories/Simple Factory/simple_factory_2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/factories/Simple Factory/simple_factory_2.py -------------------------------------------------------------------------------- /creational/prototype/Prototype.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/prototype/Prototype.graphml -------------------------------------------------------------------------------- /creational/prototype/Prototype.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/prototype/Prototype.png -------------------------------------------------------------------------------- /creational/prototype/mutáveis_e_imutáveis.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/prototype/mutáveis_e_imutáveis.txt -------------------------------------------------------------------------------- /creational/prototype/prototype_1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/prototype/prototype_1.py -------------------------------------------------------------------------------- /creational/singleton/Singleton.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/singleton/Singleton.graphml -------------------------------------------------------------------------------- /creational/singleton/Singleton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/singleton/Singleton.png -------------------------------------------------------------------------------- /creational/singleton/monostate_1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/singleton/monostate_1.py -------------------------------------------------------------------------------- /creational/singleton/monostate_2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/singleton/monostate_2.py -------------------------------------------------------------------------------- /creational/singleton/singleton_1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/singleton/singleton_1.py -------------------------------------------------------------------------------- /creational/singleton/singleton_2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/singleton/singleton_2.py -------------------------------------------------------------------------------- /creational/singleton/singleton_3.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/creational/singleton/singleton_3.py -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/main.py -------------------------------------------------------------------------------- /mypy.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/mypy.ini -------------------------------------------------------------------------------- /structural/adapter/Adapter - Class.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/adapter/Adapter - Class.graphml -------------------------------------------------------------------------------- /structural/adapter/Adapter - Class.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/adapter/Adapter - Class.png -------------------------------------------------------------------------------- /structural/adapter/Adapter - Object.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/adapter/Adapter - Object.graphml -------------------------------------------------------------------------------- /structural/adapter/Adapter - Object.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/adapter/Adapter - Object.png -------------------------------------------------------------------------------- /structural/adapter/adapter_1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/adapter/adapter_1.py -------------------------------------------------------------------------------- /structural/bridge/Bridge.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/bridge/Bridge.graphml -------------------------------------------------------------------------------- /structural/bridge/Bridge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/bridge/Bridge.png -------------------------------------------------------------------------------- /structural/bridge/bridge_1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/bridge/bridge_1.py -------------------------------------------------------------------------------- /structural/composite/BST.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/composite/BST.graphml -------------------------------------------------------------------------------- /structural/composite/BST.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/composite/BST.png -------------------------------------------------------------------------------- /structural/composite/Composite.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/composite/Composite.graphml -------------------------------------------------------------------------------- /structural/composite/Composite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/composite/Composite.png -------------------------------------------------------------------------------- /structural/composite/composite.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/composite/composite.py -------------------------------------------------------------------------------- /structural/decorator/Decorator.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/decorator/Decorator.graphml -------------------------------------------------------------------------------- /structural/decorator/Decorator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/decorator/Decorator.png -------------------------------------------------------------------------------- /structural/decorator/Hotdog.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/decorator/Hotdog.graphml -------------------------------------------------------------------------------- /structural/decorator/Hotdog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/decorator/Hotdog.png -------------------------------------------------------------------------------- /structural/decorator/Ingredient.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/decorator/Ingredient.graphml -------------------------------------------------------------------------------- /structural/decorator/Ingredient.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/decorator/Ingredient.png -------------------------------------------------------------------------------- /structural/decorator/decorator_1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/decorator/decorator_1.py -------------------------------------------------------------------------------- /structural/decorator/decorator_2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/decorator/decorator_2.py -------------------------------------------------------------------------------- /structural/facade/Façade.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/facade/Façade.graphml -------------------------------------------------------------------------------- /structural/facade/Façade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/facade/Façade.png -------------------------------------------------------------------------------- /structural/facade/facade_1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/facade/facade_1.py -------------------------------------------------------------------------------- /structural/flyweight/Flyweight.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/flyweight/Flyweight.graphml -------------------------------------------------------------------------------- /structural/flyweight/Flyweight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/flyweight/Flyweight.png -------------------------------------------------------------------------------- /structural/flyweight/flyweight.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/flyweight/flyweight.py -------------------------------------------------------------------------------- /structural/proxy/Proxy.graphml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/proxy/Proxy.graphml -------------------------------------------------------------------------------- /structural/proxy/Proxy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/proxy/Proxy.png -------------------------------------------------------------------------------- /structural/proxy/proxy_1.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/luizomf/design-patterns-python/HEAD/structural/proxy/proxy_1.py --------------------------------------------------------------------------------