23种设计模式

2020-07-23  本文已影响0人  月下饿狼

一、创建型模式

1.工厂模式分3种

第一种.简单工厂模式
第二种.工厂方法模式
第三种.抽象工厂模式

2.单例模式

3.原型模式

4.建造者模式

二、结构型模式

1.适配器模式

主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。

2.桥接模式

桥接(Bridge)模式的定义如下:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。

桥接(Bridge)模式的【【优点】】是:

由于抽象与实现分离,所以扩展能力强;
其实现细节对客户透明。

【【缺点】】是:由于聚合关系建立在抽象层,要求开发者针对抽象化进行设计与编程,这增加了系统的理解与设计难度。

例如:宝宝的【抽象类和具体继承实现类】与 【颜色类的接口实现】分开, 然后通过把【颜色】聚合到包包抽象类 来实现包包的不同颜色,除了颜色,还可以支持更多的扩展。


image.png

3.装饰模式

例子:手机,需要其他装饰(手机壳,贴膜),定义个手机接口,
分别实现手机接口:分为具体的手机构件(完整版),装饰的手机(这个类聚合了手机(也就是有手机接口这个属性,后面会把具体的手机构件传入进去))
然后对装饰类实现两个具体的装饰类 一个添加手机壳,一个添加了贴膜


image.png

4.外观模式

image.png

5.组合模式

组合模式分为【透明式的组合模式】和【安全式的组合模式】。
例子:大学下有很多学院,不同学院也有不同系


image.png
image.png

6.享元模式

7.代理模式

代理模式分为三类:1. 静态代理 2. 动态代理 3. CGLIB代理


image.png

三、行为型模式

image.png

1.策略模式

环境类聚合了策略接口,传入不同的策略实现类,就可以实现不同的策略


image.png

2.模板方法模式

制造豆浆 过程
钩子方法(改变过程的方法)
spring ioc 应用到模板方法模式


image.png

3.迭代器模式

4.委派模式

5.观察者模式

6.责任链模式

例子:假如规定学生请假小于或等于 2 天,班主任可以批准;小于或等于 7 天,系主任可以批准;小于或等于 10 天,院长可以批准;其他情况不予批准;这个实例适合使用职责链模式实现。

7.命令模式

例子: 将军-》命令-》士兵-》执行


image.png

8.备忘录模式

9.状态模式

例子:根据状态,改变行为

10.访问者模式

11.中介模式

image.png

12.解释器模式

image.png

未完待续。。。。。

上一篇下一篇

猜你喜欢

热点阅读