java设计模式备忘
一、创建型
1.抽象工厂模式 AbstractFactory
2.建造者模式 Builder
???? 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相对稳定。如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的“稳定构建算法”不随着需求改变而改变?这就是要说的建造者模式。
关键词:
1)是一个复杂对象。
2)内部对象稳定。
3)内部对象通过一定的规则组合生成了这个复杂对象。
4)可以有多个不同的规则。
好处:
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
?