创建型模式
1.单例模式: 某个类只能有一个实例,提供一个全局的访问点(私有化对象和构造方法,提供一个获得单例对象的方法)
2.工厂方法模式: 建立一个工厂类,对实现了同一接口的一些类进行实例的创建
3.抽象工厂模式: 创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类
4.建造者模式: 封装一个复杂对象的构建过程,并可以按步骤构造
5.原型模式: 通过复制现有的实例来创建新的实例
结构性模式
6.适配器模式: 将一个类的方法接口转换成客户希望的另一个接口
7.桥接模式: 将抽象部分和它的实现部分分离,使它们都可以独立的变化
8.组合模式: 将对象组合成树形结构以表示 部分-整体 的层次结构
9.装饰模式: 给一个对象增加一些新的动态的功能,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例
10.外观模式: 对外提供一个统一的方法,来访问子系统的一群接口
11.享元模式: 尽可能的让用户复用已经有的对象,从而避免造成反复创建对象的资源浪费
12.代理模式: 多一个代理类出来,替原对象进行一些操作
行为型模式
13.策略模式: 定义一系列算法,把他们封装起来,并且使它们可以相互替换
14.模板模式: 定义一个算法结构,而将一些步骤延迟到子类实现
15.观察者模式: 对象间的一对多的依赖关系
16.迭代器模式: 一种遍历访问聚合对象中各个元素的方法,不暴露该对象的内部结构
17.责任链模式: 将请求的发送者和接收者解耦,使的多个对象都有处理这个请求的机会
18.命令模式: 将命令请求封装为一个对象,使得可以用不同的请求来进行参数化
19.备忘录模式: 保存一个对象的某个状态,以便在适当的时候恢复对象
20.状态模式: 当对象的状态改变时,同时改变其行为
21.访问者模式: 在不改变集合元素的前提下,为一个集合中的每个元素提供多种访问方式,即每个元素有多个访问者对象访问
22.中介者模式: 定义一个中介对象来简化原有对象之间的交互关系,降低系统中对象间的耦合度,使原有对象之间不必相互了解
23.解释器模式: 提供如何定义语言的文法,以及对语言句子的解释方法,即解释器