一、创建型模式
1.工厂模式分3种
第一种.简单工厂模式
第二种.工厂方法模式
第三种.抽象工厂模式
2.单例模式
3.原型模式
4.建造者模式
二、结构型模式
1.适配器模式
主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。
2.桥接模式
桥接(Bridge)模式的定义如下:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。
桥接(Bridge)模式的【【优点】】是:
由于抽象与实现分离,所以扩展能力强;
其实现细节对客户透明。
【【缺点】】是:由于聚合关系建立在抽象层,要求开发者针对抽象化进行设计与编程,这增加了系统的理解与设计难度。
例如:宝宝的【抽象类和具体继承实现类】与 【颜色类的接口实现】分开, 然后通过把【颜色】聚合到包包抽象类 来实现包包的不同颜色,除了颜色,还可以支持更多的扩展。
image.png
3.装饰模式
例子:手机,需要其他装饰(手机壳,贴膜),定义个手机接口,
分别实现手机接口:分为具体的手机构件(完整版),装饰的手机(这个类聚合了手机(也就是有手机接口这个属性,后面会把具体的手机构件传入进去))
然后对装饰类实现两个具体的装饰类 一个添加手机壳,一个添加了贴膜
image.png
4.外观模式
image.png5.组合模式
组合模式分为【透明式的组合模式】和【安全式的组合模式】。
例子:大学下有很多学院,不同学院也有不同系
image.png
image.png
6.享元模式
7.代理模式
代理模式分为三类:1. 静态代理 2. 动态代理 3. CGLIB代理
image.png
三、行为型模式
image.png1.策略模式
环境类聚合了策略接口,传入不同的策略实现类,就可以实现不同的策略
image.png
2.模板方法模式
制造豆浆 过程
钩子方法(改变过程的方法)
spring ioc 应用到模板方法模式
image.png
3.迭代器模式
4.委派模式
5.观察者模式
6.责任链模式
例子:假如规定学生请假小于或等于 2 天,班主任可以批准;小于或等于 7 天,系主任可以批准;小于或等于 10 天,院长可以批准;其他情况不予批准;这个实例适合使用职责链模式实现。
7.命令模式
例子: 将军-》命令-》士兵-》执行
image.png
8.备忘录模式
9.状态模式
例子:根据状态,改变行为
网友评论