设计模式是人们在面对同类型软件工程设计问题所总结出的一些有用经验。模式不是代码,而是某类问题的通用设计解决方案。
Java中设计模式通常有23种
模式可以分成3类:创建型,行为型,结构型。
创建型模式
创建型模式设计对象的实例化,特点是不让用户代码依赖于对象的创建或排列方式,避免用户直接使用new
创建对象。
创建型模式有以下五个:
- 工厂方法模式,抽象工厂方法模式,生成器模式,原型模式和单例模式。
行为型模式
行为型模式涉及怎样合理的设计对象之间的交互通信,以及怎样合理为对象分配职责,让设计富有弹性,易维护,易复用。
行为模式有以下11个:
- 责任链模式,命令模式,解释器模式,迭代器模式,中介者模式,备忘录模式,观察者模式,状态模式,策略模式,模板方法模式和访问者模式。
结构型模式
结构型模式涉及如何组合类和对象以形成更大的结构,和类有关的结构型模式涉及如何合理使用继承机制;和对象有关的结构型模式涉及如何合理的使用对象组合机制。
结构型模式有以下7个:
- 适配器模式,组合模式,代理模式,享元模式,外观模式,桥接模式和装饰模式。