创建性模式

Factory(工厂)

提供创建对象的接口。一般和多态一起使用,创建用工厂,使用用多态。场景主要用于界面这些。

Prototype(原型)

用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。

Builder(建筑者)

是将构建复杂对象的过程和它的部件接藕,就是部件一个类,过程一个类,过程类参数是部件类。

Singleton(单例)

保证一个类只有一个实例,并提供一个访问它的全局访问点。单例一般有静态模式和懒人模式,懒人模式主要要加锁。

结构模式

Facade(外观)

为子系统种的一组接口提供一个一致接口。

Proxy(代理)

为其他对象提供一种代理以控制对这个对象的访问。使用场景,1,授权机制,2,长时间操作,3,还可以用于copy-on-write的操作里面,就是深拷贝在修改之前才操作。

Adapter(适配器)

将两个不兼容的类一起使用,就需要有Adaptee(被适配者)和Adaptor(适配器)两个身份。

Composite(合成物)

将对象以树形结构组织起来,以达成“部分–整体”的层次结构,使得客户端对单个对象和组合对象的使用具有一致性。

Decorator(油漆工)

动态给一个对象添加一些额外的职责,就像在墙上刷油漆。

Bridge(桥)

将抽象和行为划分开来,各自独立,但能动态结合。一般抽象用多态,行为用单例。

Flyweight(轻量级)

也叫享元模式,避免大量开销,使大家共享一个类。一般是用工厂来表达。 —–continue