├── .gitignore ├── Abstract Factory ├── AbstractFactoryDemo.java ├── Fruit.java ├── ProductFactory.java ├── README.md └── Vegetable.java ├── Adapter ├── Adaptee.java ├── AdapterDemo.java ├── ClassAdapterDemo.java ├── ObjectAdapterDemo.java ├── README.md └── Target.java ├── Bridge ├── BridgeDemo.java ├── README.md ├── Stack.java └── StackImpl.java ├── Builder ├── BuilderDemo.java └── README.md ├── Chain of Responsibility ├── ChainofResponsibilityDemo.java └── README.md ├── Command ├── BeforeCommand.h ├── Command.h └── README.md ├── Composite ├── Composite.h ├── CompositeDemo.java └── README.md ├── Copy on Write ├── CopyOnWrite.h └── README.md ├── Decorator ├── DecoratorDemo.java └── README.md ├── Facade ├── FacadeDemo.java └── README.md ├── Factory Method ├── FactoryMethod.h └── README.md ├── Flyweight ├── FlyWeightDemo.java ├── README.md └── data │ ├── 1.txt │ ├── 2.txt │ ├── 3.txt │ ├── 4.txt │ ├── 5.txt │ ├── 6.txt │ ├── 7.txt │ ├── 8.txt │ └── 9.txt ├── Interpreter ├── InterpreterDemo.java ├── JepDemo.java └── README.md ├── Iterator ├── Iterator.h ├── IteratorDemo.java └── README.md ├── Mediator ├── MediatorDemo.java └── README.md ├── Memento ├── Memento.h └── README.md ├── Observer ├── Observer.h ├── ObserverDemo.java └── README.md ├── Prototype ├── Property.h ├── README.md ├── image.h ├── imagetype.h ├── landsatimage.h ├── portimage.h └── sportimage.h ├── Proxy ├── ProxyDemo.java └── README.md ├── README.md ├── Reference Counting ├── README.md ├── ReferenceCounting.h └── myString.h ├── ScreenShots ├── Abstract Factory │ └── example_uml.png ├── Adaptor │ └── example_uml.jpeg ├── Bridge │ ├── example_uml.jpeg │ └── uml.jpeg ├── Builder │ └── example_uml.jpeg ├── Command │ └── uml.png ├── Composite │ ├── example_cpp.jpeg │ ├── example_cpp_uml.jpeg │ └── example_java_uml.jpeg ├── Copy on Write │ └── CopyOnWrite_example.jpeg ├── Factory Method │ └── factorymethod_cppdemo_UML.JPG ├── Flyweight │ ├── Flyweight_javademo_UML.jpeg │ └── Flyweight_main.jpeg ├── Intro │ ├── Aggregation example.png │ ├── Aggregation.png │ ├── Association.png │ ├── Composition.png │ ├── inheritance example.png │ ├── inheritance.png │ ├── new_delete.jpeg │ └── new_delete_example.jpeg ├── Iterator │ └── Iterator_main.png ├── Memento │ ├── example_uml.jpeg │ └── uml.png ├── Observer │ ├── Observer_cppdemo.drawio │ ├── Observer_cppdemo.png │ ├── Observer_cppdemo_UML.png │ ├── Observer_javademo.drawio │ ├── Observer_javademo_UML.png │ ├── Observer_principle.drawio │ └── Observer_principle.png ├── Property │ ├── example_uml.png │ ├── property_uml.png │ └── property_uml2.png ├── Proxy │ └── uml.png ├── Reference Counting │ ├── Basic_myString.jpeg │ ├── ReferenceCounting_myString.jpeg │ └── ReferenceCounting_myString2.jpg ├── Singleton │ └── uml.jpeg ├── State │ ├── example_uml.jpeg │ └── uml.png ├── Strategy │ ├── Strategy_cppdemo_classdiagram.png │ ├── Strategy_javademo_classdiagram.drawio │ ├── Strategy_javademo_classdiagram.png │ └── uml.jpeg └── Template Method │ ├── example1.png │ └── uml.jpeg ├── Shareable ├── README.md └── Shareable.h ├── Singleton ├── README.md └── Singleton.h ├── State ├── Context.java ├── README.md ├── State.java └── StateDemo.java ├── Strategy ├── README.md ├── Strategy.h └── StrategyDemo.java ├── Template Method ├── README.md ├── TemplateMethod.h └── TemplateMethodDemo.java ├── Visitor ├── Acceptor.java ├── README.md ├── Visitor.java └── VisitorDemo.java ├── doc ├── 设计模式.md └── 设计模式.pdf └── main.cpp /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /Abstract Factory/AbstractFactoryDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Abstract Factory/AbstractFactoryDemo.java -------------------------------------------------------------------------------- /Abstract Factory/Fruit.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Abstract Factory/Fruit.java -------------------------------------------------------------------------------- /Abstract Factory/ProductFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Abstract Factory/ProductFactory.java -------------------------------------------------------------------------------- /Abstract Factory/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Abstract Factory/README.md -------------------------------------------------------------------------------- /Abstract Factory/Vegetable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Abstract Factory/Vegetable.java -------------------------------------------------------------------------------- /Adapter/Adaptee.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Adapter/Adaptee.java -------------------------------------------------------------------------------- /Adapter/AdapterDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Adapter/AdapterDemo.java -------------------------------------------------------------------------------- /Adapter/ClassAdapterDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Adapter/ClassAdapterDemo.java -------------------------------------------------------------------------------- /Adapter/ObjectAdapterDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Adapter/ObjectAdapterDemo.java -------------------------------------------------------------------------------- /Adapter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Adapter/README.md -------------------------------------------------------------------------------- /Adapter/Target.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Adapter/Target.java -------------------------------------------------------------------------------- /Bridge/BridgeDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Bridge/BridgeDemo.java -------------------------------------------------------------------------------- /Bridge/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Bridge/README.md -------------------------------------------------------------------------------- /Bridge/Stack.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Bridge/Stack.java -------------------------------------------------------------------------------- /Bridge/StackImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Bridge/StackImpl.java -------------------------------------------------------------------------------- /Builder/BuilderDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Builder/BuilderDemo.java -------------------------------------------------------------------------------- /Builder/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Builder/README.md -------------------------------------------------------------------------------- /Chain of Responsibility/ChainofResponsibilityDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Chain of Responsibility/ChainofResponsibilityDemo.java -------------------------------------------------------------------------------- /Chain of Responsibility/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Chain of Responsibility/README.md -------------------------------------------------------------------------------- /Command/BeforeCommand.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Command/BeforeCommand.h -------------------------------------------------------------------------------- /Command/Command.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Command/Command.h -------------------------------------------------------------------------------- /Command/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Command/README.md -------------------------------------------------------------------------------- /Composite/Composite.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Composite/Composite.h -------------------------------------------------------------------------------- /Composite/CompositeDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Composite/CompositeDemo.java -------------------------------------------------------------------------------- /Composite/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Composite/README.md -------------------------------------------------------------------------------- /Copy on Write/CopyOnWrite.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Copy on Write/CopyOnWrite.h -------------------------------------------------------------------------------- /Copy on Write/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Copy on Write/README.md -------------------------------------------------------------------------------- /Decorator/DecoratorDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Decorator/DecoratorDemo.java -------------------------------------------------------------------------------- /Decorator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Decorator/README.md -------------------------------------------------------------------------------- /Facade/FacadeDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Facade/FacadeDemo.java -------------------------------------------------------------------------------- /Facade/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Facade/README.md -------------------------------------------------------------------------------- /Factory Method/FactoryMethod.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Factory Method/FactoryMethod.h -------------------------------------------------------------------------------- /Factory Method/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Factory Method/README.md -------------------------------------------------------------------------------- /Flyweight/FlyWeightDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Flyweight/FlyWeightDemo.java -------------------------------------------------------------------------------- /Flyweight/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Flyweight/README.md -------------------------------------------------------------------------------- /Flyweight/data/1.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Flyweight/data/1.txt -------------------------------------------------------------------------------- /Flyweight/data/2.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Flyweight/data/2.txt -------------------------------------------------------------------------------- /Flyweight/data/3.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Flyweight/data/3.txt -------------------------------------------------------------------------------- /Flyweight/data/4.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Flyweight/data/4.txt -------------------------------------------------------------------------------- /Flyweight/data/5.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Flyweight/data/5.txt -------------------------------------------------------------------------------- /Flyweight/data/6.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Flyweight/data/6.txt -------------------------------------------------------------------------------- /Flyweight/data/7.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Flyweight/data/7.txt -------------------------------------------------------------------------------- /Flyweight/data/8.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Flyweight/data/8.txt -------------------------------------------------------------------------------- /Flyweight/data/9.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Flyweight/data/9.txt -------------------------------------------------------------------------------- /Interpreter/InterpreterDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Interpreter/InterpreterDemo.java -------------------------------------------------------------------------------- /Interpreter/JepDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Interpreter/JepDemo.java -------------------------------------------------------------------------------- /Interpreter/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Interpreter/README.md -------------------------------------------------------------------------------- /Iterator/Iterator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Iterator/Iterator.h -------------------------------------------------------------------------------- /Iterator/IteratorDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Iterator/IteratorDemo.java -------------------------------------------------------------------------------- /Iterator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Iterator/README.md -------------------------------------------------------------------------------- /Mediator/MediatorDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Mediator/MediatorDemo.java -------------------------------------------------------------------------------- /Mediator/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Mediator/README.md -------------------------------------------------------------------------------- /Memento/Memento.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Memento/Memento.h -------------------------------------------------------------------------------- /Memento/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Memento/README.md -------------------------------------------------------------------------------- /Observer/Observer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Observer/Observer.h -------------------------------------------------------------------------------- /Observer/ObserverDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Observer/ObserverDemo.java -------------------------------------------------------------------------------- /Observer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Observer/README.md -------------------------------------------------------------------------------- /Prototype/Property.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Prototype/Property.h -------------------------------------------------------------------------------- /Prototype/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Prototype/README.md -------------------------------------------------------------------------------- /Prototype/image.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Prototype/image.h -------------------------------------------------------------------------------- /Prototype/imagetype.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Prototype/imagetype.h -------------------------------------------------------------------------------- /Prototype/landsatimage.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Prototype/landsatimage.h -------------------------------------------------------------------------------- /Prototype/portimage.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Prototype/portimage.h -------------------------------------------------------------------------------- /Prototype/sportimage.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Prototype/sportimage.h -------------------------------------------------------------------------------- /Proxy/ProxyDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Proxy/ProxyDemo.java -------------------------------------------------------------------------------- /Proxy/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Proxy/README.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/README.md -------------------------------------------------------------------------------- /Reference Counting/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Reference Counting/README.md -------------------------------------------------------------------------------- /Reference Counting/ReferenceCounting.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Reference Counting/ReferenceCounting.h -------------------------------------------------------------------------------- /Reference Counting/myString.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Reference Counting/myString.h -------------------------------------------------------------------------------- /ScreenShots/Abstract Factory/example_uml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Abstract Factory/example_uml.png -------------------------------------------------------------------------------- /ScreenShots/Adaptor/example_uml.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Adaptor/example_uml.jpeg -------------------------------------------------------------------------------- /ScreenShots/Bridge/example_uml.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Bridge/example_uml.jpeg -------------------------------------------------------------------------------- /ScreenShots/Bridge/uml.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Bridge/uml.jpeg -------------------------------------------------------------------------------- /ScreenShots/Builder/example_uml.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Builder/example_uml.jpeg -------------------------------------------------------------------------------- /ScreenShots/Command/uml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Command/uml.png -------------------------------------------------------------------------------- /ScreenShots/Composite/example_cpp.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Composite/example_cpp.jpeg -------------------------------------------------------------------------------- /ScreenShots/Composite/example_cpp_uml.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Composite/example_cpp_uml.jpeg -------------------------------------------------------------------------------- /ScreenShots/Composite/example_java_uml.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Composite/example_java_uml.jpeg -------------------------------------------------------------------------------- /ScreenShots/Copy on Write/CopyOnWrite_example.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Copy on Write/CopyOnWrite_example.jpeg -------------------------------------------------------------------------------- /ScreenShots/Factory Method/factorymethod_cppdemo_UML.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Factory Method/factorymethod_cppdemo_UML.JPG -------------------------------------------------------------------------------- /ScreenShots/Flyweight/Flyweight_javademo_UML.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Flyweight/Flyweight_javademo_UML.jpeg -------------------------------------------------------------------------------- /ScreenShots/Flyweight/Flyweight_main.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Flyweight/Flyweight_main.jpeg -------------------------------------------------------------------------------- /ScreenShots/Intro/Aggregation example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Intro/Aggregation example.png -------------------------------------------------------------------------------- /ScreenShots/Intro/Aggregation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Intro/Aggregation.png -------------------------------------------------------------------------------- /ScreenShots/Intro/Association.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Intro/Association.png -------------------------------------------------------------------------------- /ScreenShots/Intro/Composition.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Intro/Composition.png -------------------------------------------------------------------------------- /ScreenShots/Intro/inheritance example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Intro/inheritance example.png -------------------------------------------------------------------------------- /ScreenShots/Intro/inheritance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Intro/inheritance.png -------------------------------------------------------------------------------- /ScreenShots/Intro/new_delete.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Intro/new_delete.jpeg -------------------------------------------------------------------------------- /ScreenShots/Intro/new_delete_example.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Intro/new_delete_example.jpeg -------------------------------------------------------------------------------- /ScreenShots/Iterator/Iterator_main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Iterator/Iterator_main.png -------------------------------------------------------------------------------- /ScreenShots/Memento/example_uml.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Memento/example_uml.jpeg -------------------------------------------------------------------------------- /ScreenShots/Memento/uml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Memento/uml.png -------------------------------------------------------------------------------- /ScreenShots/Observer/Observer_cppdemo.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Observer/Observer_cppdemo.drawio -------------------------------------------------------------------------------- /ScreenShots/Observer/Observer_cppdemo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Observer/Observer_cppdemo.png -------------------------------------------------------------------------------- /ScreenShots/Observer/Observer_cppdemo_UML.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Observer/Observer_cppdemo_UML.png -------------------------------------------------------------------------------- /ScreenShots/Observer/Observer_javademo.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Observer/Observer_javademo.drawio -------------------------------------------------------------------------------- /ScreenShots/Observer/Observer_javademo_UML.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Observer/Observer_javademo_UML.png -------------------------------------------------------------------------------- /ScreenShots/Observer/Observer_principle.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Observer/Observer_principle.drawio -------------------------------------------------------------------------------- /ScreenShots/Observer/Observer_principle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Observer/Observer_principle.png -------------------------------------------------------------------------------- /ScreenShots/Property/example_uml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Property/example_uml.png -------------------------------------------------------------------------------- /ScreenShots/Property/property_uml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Property/property_uml.png -------------------------------------------------------------------------------- /ScreenShots/Property/property_uml2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Property/property_uml2.png -------------------------------------------------------------------------------- /ScreenShots/Proxy/uml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Proxy/uml.png -------------------------------------------------------------------------------- /ScreenShots/Reference Counting/Basic_myString.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Reference Counting/Basic_myString.jpeg -------------------------------------------------------------------------------- /ScreenShots/Reference Counting/ReferenceCounting_myString.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Reference Counting/ReferenceCounting_myString.jpeg -------------------------------------------------------------------------------- /ScreenShots/Reference Counting/ReferenceCounting_myString2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Reference Counting/ReferenceCounting_myString2.jpg -------------------------------------------------------------------------------- /ScreenShots/Singleton/uml.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Singleton/uml.jpeg -------------------------------------------------------------------------------- /ScreenShots/State/example_uml.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/State/example_uml.jpeg -------------------------------------------------------------------------------- /ScreenShots/State/uml.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/State/uml.png -------------------------------------------------------------------------------- /ScreenShots/Strategy/Strategy_cppdemo_classdiagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Strategy/Strategy_cppdemo_classdiagram.png -------------------------------------------------------------------------------- /ScreenShots/Strategy/Strategy_javademo_classdiagram.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Strategy/Strategy_javademo_classdiagram.drawio -------------------------------------------------------------------------------- /ScreenShots/Strategy/Strategy_javademo_classdiagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Strategy/Strategy_javademo_classdiagram.png -------------------------------------------------------------------------------- /ScreenShots/Strategy/uml.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Strategy/uml.jpeg -------------------------------------------------------------------------------- /ScreenShots/Template Method/example1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Template Method/example1.png -------------------------------------------------------------------------------- /ScreenShots/Template Method/uml.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/ScreenShots/Template Method/uml.jpeg -------------------------------------------------------------------------------- /Shareable/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Shareable/README.md -------------------------------------------------------------------------------- /Shareable/Shareable.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Shareable/Shareable.h -------------------------------------------------------------------------------- /Singleton/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Singleton/README.md -------------------------------------------------------------------------------- /Singleton/Singleton.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Singleton/Singleton.h -------------------------------------------------------------------------------- /State/Context.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/State/Context.java -------------------------------------------------------------------------------- /State/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/State/README.md -------------------------------------------------------------------------------- /State/State.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/State/State.java -------------------------------------------------------------------------------- /State/StateDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/State/StateDemo.java -------------------------------------------------------------------------------- /Strategy/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Strategy/README.md -------------------------------------------------------------------------------- /Strategy/Strategy.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Strategy/Strategy.h -------------------------------------------------------------------------------- /Strategy/StrategyDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Strategy/StrategyDemo.java -------------------------------------------------------------------------------- /Template Method/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Template Method/README.md -------------------------------------------------------------------------------- /Template Method/TemplateMethod.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Template Method/TemplateMethod.h -------------------------------------------------------------------------------- /Template Method/TemplateMethodDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Template Method/TemplateMethodDemo.java -------------------------------------------------------------------------------- /Visitor/Acceptor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Visitor/Acceptor.java -------------------------------------------------------------------------------- /Visitor/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Visitor/README.md -------------------------------------------------------------------------------- /Visitor/Visitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Visitor/Visitor.java -------------------------------------------------------------------------------- /Visitor/VisitorDemo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/Visitor/VisitorDemo.java -------------------------------------------------------------------------------- /doc/设计模式.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/doc/设计模式.md -------------------------------------------------------------------------------- /doc/设计模式.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/doc/设计模式.pdf -------------------------------------------------------------------------------- /main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/doubleZ0108/Design-Pattern/HEAD/main.cpp --------------------------------------------------------------------------------