1 单例模式
一个单例类在每个进程只能有一份,这个类可以在全局使用getInstance函数获得它的实例,有懒汉式和饿汉式两种实现方式。
2 简单工厂模式
复杂类的创建通过一个简单的类来创建。这些复杂类有共同的基类,即工厂创建产品的模式
3 工厂模式
有很多的复杂类,但是每一个复杂类都可以通过一个简单类来创建,这些复杂类有共同的基类,简单类也有共同的基类。每个工厂创建一种对应的产品
4 抽象工厂模式
在工厂模式的基础上使简单类不只又一种创建技能,它能创建不同的复杂类。每个工厂能够创建几种同类的产品。
5 建造者模式
由设计师监督建设队进行建设具体产品的模式,把很复杂的对象分成三级来简化
6 原型模式
使一个类它能够通过一个方法复制出一个自身的对象
7 代理模式
通过一个代理类来实现原类的功能的同时还能添加一些代理类的额外功能
8 装饰者模式
通过一个类来包含另外一个类,并对它进行包装、加强。
9 适配器模式
将一个难用类进行转换、改装成另外一个想要的类。
10 桥接模式
对外接口和具体实现分成两个不同的类来实现
11 组合模式
将几个对象组合再一起形成新的功能类
12 外观模式
将几个对象功能进行封装形成一个新的功能类,使之更方便使用
13 享元模式
再使用对象之前先查看是否已经存在该对象,如果存在则直接使用该对象,不存在才新创建一个对象
14 模板模式
类的继承与多态
15 命令模式
将输入抽象成命令类,然后由一个类来管理这些命令,当收到一些命令时,可以根据不同的命令调用不同的实行类去执行命令的要求。
16 责任链模式
将任务逐级下发,交给具体的实施类去完成
17 策略模式
一个软件要完成某个功能,这时有几种策略都能达到这个目的,策略模式就是设计这样一个要求类,使得传入不同的策略类都能达到目的,条条大路通罗马的感觉
18 中介模式
对象之间的交互通过一个中介去作为媒介,减少对象之间的耦合
19 观察者模式
适用于一(A)对多(B)的情况,当一个对象A发生改变,能够及时的通知所有其它B对象
20 备忘录模式
保存对象的状态,在需要时可以回滚到之前的状态,类似于git的版本控制,可以回滚到之前的某个commit
21 访问者模式
对象A可以通过传入对象B的指针达到访问对象B的目的,同时对象B也可以通过传入对象A的指针达到访问对象A的目的
22 状态模式
对象A可以根据传入不同的对象B执行不同的动作
23 解析器模式
通过改变类A的数据,可以使类B执行不同的动作。例如服务器一般都有一个配置文件,改变这个配置文件就能使服务器程序执行不同的功能
24 迭代器模式
我们可以通过类A创建一个迭代器B,迭代器B中可以添加、保存、管理类A的指针,这样我们就可以通过迭代器B遍历管理类A