外观模式

一. 定义 为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 二. 模式结构 1. Facade(外观角色) 在客户端可以调用这个角色的方法,在外观角色中可以知道相关的子系统的功能和责任;在正常情况下,他将所


装饰模式

一. 定义 动态地给一个对象增加一些额外的职责,用于替代继承技术,无需定义子类,用关联关系取代继承关系。 一般有两种方式可以给一个类或对象增加行为: 继承机制:静态的,不能控制其增加行为的方式和时机。 关联机制:动态的,由另一个对象决定是否调用嵌入对象的行为并扩展新行为,我们称这个新的对象(另一个对


组合模式

一. 定义 组合多个对象形成树形结构以表示“部分整体”的结构层次(树形结构)。 组合模式对叶子对象和容器对象的使用具有一致性。 组合模式关注那些存在叶子构件和容器构件以及他们的组织形式,叶子构件不能包含成员对象,而容器构件可以包含成员对象,这些成员对象,可以是叶子也可以是容器,他们构成了一个树形结构


桥接模式

一. 定义 将抽象部分与它的实现部分分离,使他们都可以独立的变化。 如果系统中存在两个独立变化的维度,该模式可以将这两个维度分离出来,使两者可以独立扩展。桥接模式用抽象关联取代了传统的多层继承,将类之间的静态继承关系转为动态的对象组合关系,使得系统更加灵活且易于扩展,同时有效的控制了系统中类的个数。


适配器模式

一. 定义 将一个接口转化成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,而无需修改现有事务的内部结构。 二. 模式结构 1. Target(目标抽象类) 定义客户要使用的特定的接口, 可以是抽象类或接口,具体的类。 2. Adapter(适配器类) 适配器类可以调用另一个接口,


单例模式

一. 定义 单例模式确保一个类只有一个实例,而且自行实例化并向整个系统提供这个单例,这个类称为单例类,他提供全局访问的方法。 二. 模式结构 单例类的构造函数为私有 提供一个自身的静态私有成员变量 提供一个公有的静态工厂方法 三. 实例 1. 饿汉式 单例类被加载时实例化自己


原型模式

一. 定义 当需要创建大量相同或相似对象时,且对象的创建过程较为复杂,可以只创建一个对象,然后再通过克隆的方式复制出多个相同的对象。 浅克隆:被复制对象的所有普通成员变量都具有与原来对象相同的值,而所有的对其他对象的引用扔指向原来的对象,即属性是引用对象不复制。 深克隆:被复制对象的所有普通成员变量


建造者模式

一. 定义 将一个复杂对象的构建与他的表示分离,使得同样的构建过程可以创建不同的表示,它关注如何一步步创建一个复杂对象。 像汽车由车轮,车体,方向盘等构成,每一个部分没创建完成前,汽车也无法完成。 二. 模式构造 1. Builder(抽象建造者) 抽象建造者为创建一个产品对象的各个部件指定抽象接口


抽象工厂模式

一. 定义 提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。 抽象工厂模式是工厂方法模式的泛华版,工厂方法模式是一种特殊的抽象工厂模式。在工厂方法模式中每个具体工厂只能生成一种具体产品,而在抽象工厂方法模式中,一个工厂可以生产多个具体产品。 产品等级结构:即产品的继承结构,如一个


工厂方法模式

一. 定义 引入抽象工厂类,具体产品的创建过程封装在抽象工厂的子类,通过工厂子类来确定实例化哪个具体产品类,增加新产品类时只需增加相应的具体工厂类。(一个产品等级结构) 二. 模式结构 1. Product(抽象产品) 产品接口 2. ConcreteProduct(具体产品) 实现抽象产品,具体的