├── .gitignore ├── 01_课件_介绍 ├── 介绍.pdf └── 代码 │ ├── MyPaint1 │ ├── MainForm1.cpp │ ├── Shape1.h │ └── _desktop.ini │ └── MyPaint2 │ ├── MainForm2.cpp │ ├── Shape2.h │ └── _desktop.ini ├── 02_课件_面向对象设计原则 └── 面向对象设计原则.pdf ├── 03_课件_Template Method模板方法 ├── Template Method_模板方法.pdf └── 代码 │ ├── template1_app.cpp │ ├── template1_lib.cpp │ ├── template2_app.cpp │ └── template2_lib.cpp ├── 04_课件_策略模式 ├── 代码 │ ├── strategy1.cpp │ └── strategy2.cpp └── 策略模式.pdf ├── 05_课件_观察者模式 ├── 代码 │ ├── FileSplitter1.cpp │ ├── FileSplitter2.cpp │ ├── MainForm1.cpp │ └── MainForm2.cpp └── 观察者模式.pdf ├── 06_课件_装饰模式 ├── 代码 │ ├── decorator1.cpp │ ├── decorator2.cpp │ └── decorator3.cpp └── 装饰模式.pdf ├── 07_课件_桥模式 ├── 代码 │ ├── bridge1.cpp │ └── bridge2.cpp └── 桥模式.pdf ├── 08_课件_Factory Method工厂方法 ├── Factory Method_工厂方法.pdf └── 代码 │ ├── FileSplitter1.cpp │ ├── FileSplitter2.cpp │ ├── ISplitterFactory.cpp │ ├── MainForm1.cpp │ └── MainForm2.cpp ├── 09_课件_Abstract Factory抽象工厂 ├── Abstract Factory_抽象工厂.pdf └── 代码 │ ├── EmployeeDAO1.cpp │ ├── EmployeeDAO2.cpp │ └── EmployeeDAO3.cpp ├── 10_课件_prototype └── 代码 │ ├── Client.cpp │ ├── ConcretePrototype.cpp │ └── Prototype.cpp ├── 11_课件_builder构建器 ├── builder_构建器.pdf └── 代码 │ └── builder.cpp ├── 12_课件_Singleton ├── Singleton.pdf └── 代码 │ └── Singleton.cpp ├── 13_课件_Flyweight享元模式 ├── Flyweight_享元模式.pdf └── 代码 │ └── flyweight.cpp ├── 14_课件_Facade门面模式 └── Facade_门面模式.pdf ├── 15_课件_Proxy ├── Proxy.pdf └── 代码 │ ├── client.cpp │ └── proxy.cpp ├── 16_课件_Adapter适配器 ├── Adapter_适配器.pdf └── 代码 │ └── Adapter.cpp ├── 17_课件_Mediator中介者 └── Mediator_中介者.pdf ├── 18_课件_State ├── State.pdf └── 代码 │ ├── state1.cpp │ └── state2.cpp ├── 19_课件_Memento备忘录 ├── Memento_备忘录.pdf └── 代码 │ └── memento.cpp ├── 20_课件_Composite ├── Composite.pdf └── 代码 │ └── composite.cpp ├── 21_课件_Iterator迭代器 ├── Iterator_迭代器.pdf └── 代码 │ └── Iterator.cpp ├── 22_课件_职责链 ├── 代码 │ └── ChainofResposibility.cpp └── 职责链.pdf ├── 23_课件_Command命令模式 ├── Command_命令模式.pdf └── 代码 │ └── Command.cpp ├── 24_课件_Vistor访问器 ├── Vistor_访问器.pdf └── 代码 │ ├── Visitor1.cpp │ └── Visitor2.cpp ├── 25_课件_Interpreter ├── Interpreter.pdf └── 代码 │ └── main.cpp ├── 26_课件_设计模式总结 └── 设计模式总结.pdf └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | .DS_Store 3 | .idea/ -------------------------------------------------------------------------------- /01_课件_介绍/介绍.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/01_课件_介绍/介绍.pdf -------------------------------------------------------------------------------- /01_课件_介绍/代码/MyPaint1/MainForm1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/01_课件_介绍/代码/MyPaint1/MainForm1.cpp -------------------------------------------------------------------------------- /01_课件_介绍/代码/MyPaint1/Shape1.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/01_课件_介绍/代码/MyPaint1/Shape1.h -------------------------------------------------------------------------------- /01_课件_介绍/代码/MyPaint1/_desktop.ini: -------------------------------------------------------------------------------- 1 | 2007/8/3 -------------------------------------------------------------------------------- /01_课件_介绍/代码/MyPaint2/MainForm2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/01_课件_介绍/代码/MyPaint2/MainForm2.cpp -------------------------------------------------------------------------------- /01_课件_介绍/代码/MyPaint2/Shape2.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/01_课件_介绍/代码/MyPaint2/Shape2.h -------------------------------------------------------------------------------- /01_课件_介绍/代码/MyPaint2/_desktop.ini: -------------------------------------------------------------------------------- 1 | 2007/8/3 -------------------------------------------------------------------------------- /02_课件_面向对象设计原则/面向对象设计原则.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/02_课件_面向对象设计原则/面向对象设计原则.pdf -------------------------------------------------------------------------------- /03_课件_Template Method模板方法/Template Method_模板方法.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/03_课件_Template Method模板方法/Template Method_模板方法.pdf -------------------------------------------------------------------------------- /03_课件_Template Method模板方法/代码/template1_app.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/03_课件_Template Method模板方法/代码/template1_app.cpp -------------------------------------------------------------------------------- /03_课件_Template Method模板方法/代码/template1_lib.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/03_课件_Template Method模板方法/代码/template1_lib.cpp -------------------------------------------------------------------------------- /03_课件_Template Method模板方法/代码/template2_app.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/03_课件_Template Method模板方法/代码/template2_app.cpp -------------------------------------------------------------------------------- /03_课件_Template Method模板方法/代码/template2_lib.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/03_课件_Template Method模板方法/代码/template2_lib.cpp -------------------------------------------------------------------------------- /04_课件_策略模式/代码/strategy1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/04_课件_策略模式/代码/strategy1.cpp -------------------------------------------------------------------------------- /04_课件_策略模式/代码/strategy2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/04_课件_策略模式/代码/strategy2.cpp -------------------------------------------------------------------------------- /04_课件_策略模式/策略模式.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/04_课件_策略模式/策略模式.pdf -------------------------------------------------------------------------------- /05_课件_观察者模式/代码/FileSplitter1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/05_课件_观察者模式/代码/FileSplitter1.cpp -------------------------------------------------------------------------------- /05_课件_观察者模式/代码/FileSplitter2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/05_课件_观察者模式/代码/FileSplitter2.cpp -------------------------------------------------------------------------------- /05_课件_观察者模式/代码/MainForm1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/05_课件_观察者模式/代码/MainForm1.cpp -------------------------------------------------------------------------------- /05_课件_观察者模式/代码/MainForm2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/05_课件_观察者模式/代码/MainForm2.cpp -------------------------------------------------------------------------------- /05_课件_观察者模式/观察者模式.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/05_课件_观察者模式/观察者模式.pdf -------------------------------------------------------------------------------- /06_课件_装饰模式/代码/decorator1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/06_课件_装饰模式/代码/decorator1.cpp -------------------------------------------------------------------------------- /06_课件_装饰模式/代码/decorator2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/06_课件_装饰模式/代码/decorator2.cpp -------------------------------------------------------------------------------- /06_课件_装饰模式/代码/decorator3.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/06_课件_装饰模式/代码/decorator3.cpp -------------------------------------------------------------------------------- /06_课件_装饰模式/装饰模式.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/06_课件_装饰模式/装饰模式.pdf -------------------------------------------------------------------------------- /07_课件_桥模式/代码/bridge1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/07_课件_桥模式/代码/bridge1.cpp -------------------------------------------------------------------------------- /07_课件_桥模式/代码/bridge2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/07_课件_桥模式/代码/bridge2.cpp -------------------------------------------------------------------------------- /07_课件_桥模式/桥模式.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/07_课件_桥模式/桥模式.pdf -------------------------------------------------------------------------------- /08_课件_Factory Method工厂方法/Factory Method_工厂方法.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/08_课件_Factory Method工厂方法/Factory Method_工厂方法.pdf -------------------------------------------------------------------------------- /08_课件_Factory Method工厂方法/代码/FileSplitter1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/08_课件_Factory Method工厂方法/代码/FileSplitter1.cpp -------------------------------------------------------------------------------- /08_课件_Factory Method工厂方法/代码/FileSplitter2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/08_课件_Factory Method工厂方法/代码/FileSplitter2.cpp -------------------------------------------------------------------------------- /08_课件_Factory Method工厂方法/代码/ISplitterFactory.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/08_课件_Factory Method工厂方法/代码/ISplitterFactory.cpp -------------------------------------------------------------------------------- /08_课件_Factory Method工厂方法/代码/MainForm1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/08_课件_Factory Method工厂方法/代码/MainForm1.cpp -------------------------------------------------------------------------------- /08_课件_Factory Method工厂方法/代码/MainForm2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/08_课件_Factory Method工厂方法/代码/MainForm2.cpp -------------------------------------------------------------------------------- /09_课件_Abstract Factory抽象工厂/Abstract Factory_抽象工厂.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/09_课件_Abstract Factory抽象工厂/Abstract Factory_抽象工厂.pdf -------------------------------------------------------------------------------- /09_课件_Abstract Factory抽象工厂/代码/EmployeeDAO1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/09_课件_Abstract Factory抽象工厂/代码/EmployeeDAO1.cpp -------------------------------------------------------------------------------- /09_课件_Abstract Factory抽象工厂/代码/EmployeeDAO2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/09_课件_Abstract Factory抽象工厂/代码/EmployeeDAO2.cpp -------------------------------------------------------------------------------- /09_课件_Abstract Factory抽象工厂/代码/EmployeeDAO3.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/09_课件_Abstract Factory抽象工厂/代码/EmployeeDAO3.cpp -------------------------------------------------------------------------------- /10_课件_prototype/代码/Client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/10_课件_prototype/代码/Client.cpp -------------------------------------------------------------------------------- /10_课件_prototype/代码/ConcretePrototype.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/10_课件_prototype/代码/ConcretePrototype.cpp -------------------------------------------------------------------------------- /10_课件_prototype/代码/Prototype.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/10_课件_prototype/代码/Prototype.cpp -------------------------------------------------------------------------------- /11_课件_builder构建器/builder_构建器.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/11_课件_builder构建器/builder_构建器.pdf -------------------------------------------------------------------------------- /11_课件_builder构建器/代码/builder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/11_课件_builder构建器/代码/builder.cpp -------------------------------------------------------------------------------- /12_课件_Singleton/Singleton.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/12_课件_Singleton/Singleton.pdf -------------------------------------------------------------------------------- /12_课件_Singleton/代码/Singleton.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/12_课件_Singleton/代码/Singleton.cpp -------------------------------------------------------------------------------- /13_课件_Flyweight享元模式/Flyweight_享元模式.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/13_课件_Flyweight享元模式/Flyweight_享元模式.pdf -------------------------------------------------------------------------------- /13_课件_Flyweight享元模式/代码/flyweight.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/13_课件_Flyweight享元模式/代码/flyweight.cpp -------------------------------------------------------------------------------- /14_课件_Facade门面模式/Facade_门面模式.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/14_课件_Facade门面模式/Facade_门面模式.pdf -------------------------------------------------------------------------------- /15_课件_Proxy/Proxy.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/15_课件_Proxy/Proxy.pdf -------------------------------------------------------------------------------- /15_课件_Proxy/代码/client.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/15_课件_Proxy/代码/client.cpp -------------------------------------------------------------------------------- /15_课件_Proxy/代码/proxy.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/15_课件_Proxy/代码/proxy.cpp -------------------------------------------------------------------------------- /16_课件_Adapter适配器/Adapter_适配器.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/16_课件_Adapter适配器/Adapter_适配器.pdf -------------------------------------------------------------------------------- /16_课件_Adapter适配器/代码/Adapter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/16_课件_Adapter适配器/代码/Adapter.cpp -------------------------------------------------------------------------------- /17_课件_Mediator中介者/Mediator_中介者.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/17_课件_Mediator中介者/Mediator_中介者.pdf -------------------------------------------------------------------------------- /18_课件_State/State.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/18_课件_State/State.pdf -------------------------------------------------------------------------------- /18_课件_State/代码/state1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/18_课件_State/代码/state1.cpp -------------------------------------------------------------------------------- /18_课件_State/代码/state2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/18_课件_State/代码/state2.cpp -------------------------------------------------------------------------------- /19_课件_Memento备忘录/Memento_备忘录.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/19_课件_Memento备忘录/Memento_备忘录.pdf -------------------------------------------------------------------------------- /19_课件_Memento备忘录/代码/memento.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/19_课件_Memento备忘录/代码/memento.cpp -------------------------------------------------------------------------------- /20_课件_Composite/Composite.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/20_课件_Composite/Composite.pdf -------------------------------------------------------------------------------- /20_课件_Composite/代码/composite.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/20_课件_Composite/代码/composite.cpp -------------------------------------------------------------------------------- /21_课件_Iterator迭代器/Iterator_迭代器.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/21_课件_Iterator迭代器/Iterator_迭代器.pdf -------------------------------------------------------------------------------- /21_课件_Iterator迭代器/代码/Iterator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/21_课件_Iterator迭代器/代码/Iterator.cpp -------------------------------------------------------------------------------- /22_课件_职责链/代码/ChainofResposibility.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/22_课件_职责链/代码/ChainofResposibility.cpp -------------------------------------------------------------------------------- /22_课件_职责链/职责链.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/22_课件_职责链/职责链.pdf -------------------------------------------------------------------------------- /23_课件_Command命令模式/Command_命令模式.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/23_课件_Command命令模式/Command_命令模式.pdf -------------------------------------------------------------------------------- /23_课件_Command命令模式/代码/Command.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/23_课件_Command命令模式/代码/Command.cpp -------------------------------------------------------------------------------- /24_课件_Vistor访问器/Vistor_访问器.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/24_课件_Vistor访问器/Vistor_访问器.pdf -------------------------------------------------------------------------------- /24_课件_Vistor访问器/代码/Visitor1.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/24_课件_Vistor访问器/代码/Visitor1.cpp -------------------------------------------------------------------------------- /24_课件_Vistor访问器/代码/Visitor2.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/24_课件_Vistor访问器/代码/Visitor2.cpp -------------------------------------------------------------------------------- /25_课件_Interpreter/Interpreter.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/25_课件_Interpreter/Interpreter.pdf -------------------------------------------------------------------------------- /25_课件_Interpreter/代码/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/25_课件_Interpreter/代码/main.cpp -------------------------------------------------------------------------------- /26_课件_设计模式总结/设计模式总结.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/26_课件_设计模式总结/设计模式总结.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rhyspang/CPP-Design-Patterns/HEAD/README.md --------------------------------------------------------------------------------