我一直觉得记忆能促进理解,我在开始学设计模式时,觉得设计模式复杂,而且很难在自己编写代码时进行灵活运用,面试中也曾被问到过,我回答的也不是很好。于是我就先把这些模式给背住,对应模式的运用方法也反复的看,直到记住每个模式应用的场景,后来无论谁跟我谈及到设计模式,我再也不心里发虚了。
1.创建型模式
- 单例模式(Singleton Pattern)
- 抽象工厂模式(Abstract Factory Pattern)
- 原型模式(Prototype Pattern)
- 工厂模式(Factory Pattern)
- 建造者模式(Builder Pattern)
助记:单抽元件厂
2.结构型模式
- 组合模式(Composite Pattern)
- 装饰器模式(Decorator Pattern)
- 适配器模式(Adapter Pattern)
- 外观模式(Facade Pattern)
- 过滤器模式(Filter、Criteria Pattern)
- 桥接模式(Bridge Pattern)
- 享元模式(Flyweight Pattern)
- 代理模式(Proxy Pattern)
助记:组装室外,过桥想带
3.行为型模式
- 责任链模式(Chain of Responsibility Pattern)
- 备忘录模式(Memento Pattern)
- 访问者模式(Visitor Pattern)
- 状态模式(State Pattern)
- 空对象模式(Null Object Pattern)
- 命令模式(Command Pattern)
- 解释器模式(Interpreter Pattern)
- 迭代器模式(Iterator Pattern)
- 中介者模式(Mediator Pattern)
- 观察者模式(Observer Pattern)
- 模板模式(Template Pattern)
- 策略模式(Strategy Pattern)
助记: 这人忘背访问状态
对象命令解释迭代
中介观摩策略厉害
#对应代码
从单例模式开始讲起
1.单例模式
由于Singleton模式的类的构造函数,是一个私有的构造函数,故用户无法通过new来实例化出对象,从而保证了。。。。
该类的特征是,有一个静态私有成员变量instance与静态公有方法instance();
class Singleton{
private://私有化构造函数
Singleton();
~Singleton();
static Singleton * This;//类对象的指针;
public:
const Singleton& getInstance();
}



