设计模式备忘录
创建型模式
?
1.抽象工厂模式 AbstractFactory?
2.建造者模式 Builder 封装一个对象的构建过程,并允许按步骤构造。?
3.工厂方法模式 Factory Method?
4.原型模式 Prototype?
5.单例模式 Singleton?
?
结构型模式?
?
1.适配器模式 Adapter 将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。
2.桥接模式 Bridge 不只改变你的实现,也改变你的抽象。
3.组合模式 Composite 允许你将对象组合成树状接口来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。
4.装饰模式 Decorator 动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更加有弹性的替代方案。
5.外观模式 Facade 提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。
6.享元模式 Flyweight 让某个类的一个实例能用来提供许多“虚拟实例”
7.代理模式 Proxy 为另一个对象提供一个替身或占位符以控制对这个对象的访问。
?
行为模式?
?
1.职责链模式 Chain of Responsibility?
2.命令模式 Command 将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其它对象。命令模式也支持可撤销的操作。
3.解释器模式 Interpreter 为语言创建解析器?
4.迭代器模式 Iterator 提供一种方法顺序访问一个聚合对象中的各个元素,而又不是暴露其内部的表示。
5.中介者模式 Mediator 集中相关对象之间复杂的沟通和控制方式
6.备忘录模式 Memento ?
7.观察者模式 Observer 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都收到通知并自动更新。
8.状态模式 State 允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。
9.策略模式 Strategy?
10.模板方法模式 Template Method 在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。
11.访问者模式 Visitor 当封装并不重要时,为一个对象组合增加新的能力?