最近在学习设计模式,跟着https://www.cnblogs.com/xuwujing/
这位大佬的文章学习,我个人觉得这位大佬介绍的十分透彻易懂,在学习时我把各模式的特点和适用场景尽可能精简的概括下来
如果有错误的地方,望各位大佬指出
1.简单工厂模式
调用时告诉工厂类所需要的类型,工厂类就会返回需要的产品类工厂的子类
适用场景:负责创建的对象较少,客户端只知道传入工程的参数
2.工厂方法模式
定义一个工厂类接口,每一个子类都继承该接口得到一个各自的工厂类,通过各自的工厂类实例化
适用场景:客户端不知道它所需要的类
3.抽象工厂模式
分类,根据子类共同的特性将其分在一起,组成一个相同类型组,让他们继承同一个抽象子类、
适用场景:增加相同类型的子类,扩展其他类型时较复杂
4.适配器模式
作为两个兼容的接口之间的桥梁,结合了两个独立功能。通过某个接口将不兼容的两个类进行兼容,俗称转换器
使用场景:不是在设计时使用,而是解决正在服役的问题
5.桥接模式
用于把抽象化和实现化解耦
适用场景:一个类存在两个独立变化的维度,且这两个维度都需要进行扩展
6.外观模式
隐藏系统的复杂性,降低了耦合,提升了安全性
适用场景:适用于多个复杂模块或子系统时
7.装饰器模式
可以动态地给一个对象添加一些额外的功能和职责,耦合度低,易于扩展
适用场景:适用于原型不变,动态增加一些功能的时候
8.组合模式
根据树形结构把相似的对象进行组合,然后表示该部分是用来做什么的,高层模块调用较为简单,增加某个节点简单
适用场景:可以并表示为”部分-整体“的层级结构
9.过滤器模式
制定过滤规则,根据制定的标准来进行过滤,简单解耦,使用方便
适用场景:需要进行过滤数据的场景
9万+

被折叠的 条评论
为什么被折叠?



