issues
search
zhanggao
/
learnNotes
2
stars
2
forks
source link
设计模式-合(创建型、行为型、结构型)
#1
Open
zhanggao
opened
4 years ago
zhanggao
commented
4 years ago
设计模式-创建型
单例
:保证该类只有一个实例,并提供全局的访问点。
简单工厂
:提供一个通用的创建接口,根据传入的类型参数创建不同的实例,不对外暴露创建细节。
工厂方法
:定义一个创建对象的接口,具体实现由子类实现。
抽象工厂
:提供一个接口用于创建一个对象家族。FactoryA创建ProductA0和ProductA1;FactoryB创建ProductB0和ProductB1。
生成器
:也叫Builder模式,封装一个对象的创建过程,按照步骤构建
原型模式
:通过复制对象来创建对象。
zhanggao
commented
3 years ago
设计模式-行为型
责任链
:使多个对象都有机会处理请求,调用端将请求给A,A处理不了就给B,B处理不了就给C。 命令:
解释器:
迭代器
:提供一个顺序访问集合元素的方法,同时又不暴露集合的内部实现。
中介者:引入一个中介来让各对象之间交互,各对象之间不需要互相引用,从而松耦合,并且可以独立的改各对象。
备忘录:在不违反规则的情况下获取对象内部的状态,从而在需要时可以恢复对象的状态。
观察者
:定义一个一对多关系,当被观察的对象变化时通知所有观察者。
状态:
策略
:定义并封装一系列算法使它们可以相互替代互换。
模板方法
:定义一个操作算法的骨架,将一些实现延迟到子类,子类可以重新定义算法的某些步骤而不用改算法骨架。
访问者:
空对象:
zhanggao
commented
3 years ago
设计模式-结构型
适配器
:将一个类转成用户希望的另一个接口,使两个接口不兼容的类可以一起工作。主要解决将老系统的一些类放到新系统中,老系统的类不满足新系统的接口。
桥接
:将抽象与实现解耦分离开来,使他们可以独立变化。主要解决继承带来的爆炸问题,扩展不灵活。
组合:
装饰
:动态的给一些实体类增加一些额外的功能。假设有一个画正方形和画圆形的实体类,然后有一个画红色图形的装饰类,这个画红色图形的装饰类既可以装饰画正方形的实体类,又可以装饰画圆形的实体类。
外观
:提供一个统一的接口用来访问子系统中的一系列接口。假设看电影需要开CD机、音响、显示器,然后提供一个统一的接口一次性开所有设备。
享元
:利用共享的方式大量的细粒度的对象,这些对象一部分内部状态是相同的,还可以有一些不同的外部状态。主要用来避免创建大量对象。
代理
:为其它对象提供一个代理,用来控制这个对象的访问。
设计模式-创建型