创建模式

Factory

父类不知道具体要实例化哪一个子类,所以Factory中只提供接口,而将实例化在子类中实现。

AbstractFactory

创建一组相关有依赖的类

Singleton

创建唯一的对象,用一个static变量来记录创建对象的数量。

Builder

对象的创建过程有很多步,每步有新的参数。构建的过程要和实现分离,同样的创建入口,但是得到的对象不同。

Prototype

自我复制。

拷贝构造函数:浅层拷贝函数,深层构造函数。


结构模式

Bridge

不同场景的不同实现,新的需求带来的类数量的增加。多组合少继承。

人开着不同的车在不同的路跑;人,车和路分别抽象。组合的时候,增加了耦合。

int main(){
    AbstractRoad Road = new SpeedWay();
    Road.Car = new Bus();
    People person = new Man();
    Person.Road = Road;
    person.run();
}

Adapter

我们的接口和要使用的库的接口不一致的时候,提供统一的接口。

Decorator


State

每个状态一个类concrete state,共同继承一个父类state。一个控制状态转化的类content,令state为友元类,从而可以在每个state内部运行的时候调用content的change state()函数。

首先content初始化为初始状态A,然后调用content的运行函数,每个state的运行函数的接口都一致,继承state的方法。

results matching ""

    No results matching ""