设计模式总结

本文内容借鉴书籍《大话设计模式》。是本人基于大话设计模式的一些总结和归纳

一.策略模式 ☆☆☆☆☆

请添加图片描述

请添加图片描述

在这里插入图片描述

二.【职责链模式】和【装饰模式】 ☆☆☆☆☆

1.职责链模式

请添加图片描述
请添加图片描述

2.装饰模式

请添加图片描述

请添加图片描述

“Component 是定义一个对象接口,可以给这些对象动态地添加职责。ConcreteComponent是定义了一个具体的对象,也可以给这个对象添加一些职责。Decorator,装饰抽象类,继承了Component,从外类来扩展Component类的功能,但对于Component来说,是无需知道Decorator的存在的。至于ConcreteDecorator 就是具体的装饰对象,起到给 Component添加职责的功能[DPE]。”
装饰模式是利用SetComponent来对对象进行包装的。这样每个装饰对象的实现就*和如何使用这个对象分离开了,每个装饰对象只关心自己的功能,不需要关心如何被添加到对象链当中[DPE]。用刚才的例子来说就是,我们完全可以先穿外裤,再穿内裤,而不一定要先内后外
如果只有一个ConcreteComponent类而没有抽象的Component类,那么Decorator类可以是ConcreteComponent的一个子类。同样道理,如果只有一个ConcreteDecorator类,那么就没有必要建立一个单独的Decorator类,而可以把Decorator 和ConcreteDecorator的责任合并成一个类。

3.区别

策略模式和职责链模式的代码很相似。只不过在功能描述上或者场景上会有所不同。策略模式更强调给一个大功能增加局部功能,而职责链模式则更强调流程、链条,按照一定流程来完成一个指标或目标,或按照一定流程结算某个任务。

三.【代理模式】和【适配器模式】☆☆☆☆

1.代理模式

关键词:代理增强,隐藏本身的操作对象

请添加图片描述

请添加图片描述

请添加图片描述

2.适配器模式

请添加图片描述
请添加图片描述

请添加图片描述

系统的数据和行为都正确,但接口不符时,我们应该考虑用适配器,目的是使控制范围之外的一个原有对象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况

3.区别

适配器模式主要改变所考虑对象的接口,而代理模式不能改变所代理类的接口。

四.工厂模式 ☆☆☆☆☆

1.简单工厂

请添加图片描述

2.工厂方法

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

3.抽象工厂

请添加图片描述

请添加图片描述

请添加图片描述

五.原型模式 ☆

关键词:克隆、复制

请添加图片描述

请添加图片描述

六.模板方法模式 ☆☆☆☆☆

请添加图片描述

请添加图片描述
在这里插入图片描述

在这里插入图片描述

七.外观模式 ☆☆

请添加图片描述

请添加图片描述

请添加图片描述

八.建造者模式 ☆☆☆☆☆

请添加图片描述

请添加图片描述

请添加图片描述

九.观察者模式 ☆☆☆☆☆

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

十.状态模式 ☆☆☆

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

十一.备忘录模式 ☆☆

请添加图片描述

十二.组合模式 ☆☆☆☆☆

请添加图片描述
请添加图片描述

在这里插入图片描述

十三.迭代器模式 ☆

请添加图片描述

请添加图片描述

十四.单例模式 ☆

请添加图片描述

请添加图片描述

请添加图片描述

请添加图片描述

十五.桥接模式 ☆☆

请添加图片描述

请添加图片描述

十六.命令模式 ☆☆☆☆☆

请添加图片描述

请添加图片描述

请添加图片描述

十七.中介者模式 ☆☆

请添加图片描述

请添加图片描述

在这里插入图片描述

十八.享元模式 ☆

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

十九.解释器模式 ☆

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

二十.访问者模式 ☆

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值