设计模式总结 模式分类

Posted thefist11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式总结 模式分类相关的知识,希望对你有一定的参考价值。

模式前面的序号是模式在《研磨设计模式》一书中的序号。

模式模式
创建型
2.简单工厂Factory 有一个createApi函数,传入不同的type,创建和调用不同的类:ImplA或ImplB。
3. 外观模式(多个子模块封装成一个模块)
6. 工厂父类在不知道具体实现的情况下, 完成自身的功能调用; 而具体的实现延迟到子类来实现
7. 抽象工厂产品族,类层次复杂eg.多种cpu,多种主板
8.生成器生成文件:头,中间,尾。有两种方式生成:txt,xml
创建内存型
5. 单例
9.原型订单拆分,克隆生成对象:不是创建新的对象实例,而是一个方法创建多个自己的对象
20. 享元模式减少创建对象的数量,以减少内存,细粒度对象
结构型
4. 适配器文件读写,数据库读写
11. 代理模式(代理对象可以做一些事情,查询某个姓名的数据,而不是所有数据):需要查询所有用户数据,不能翻页都显示出来,只显示姓名,在需要的情况下,点击某个用户的姓名出现详细信息
13. 命令模式命令发送,命令接收,命令invoker
15. 组合模式叶子和节点,引用关系,将叶子和节点都设计为一个类
24 桥接模式二维对象抽象,分成一个抽象,一个实现,抽象类增加后的功能可以放在实现类中
25 访问者模式有个多个数据需要进行统一处理,设计处理动作为放问者类 ,依次对每个被访问者进行访问,而访问的操作也有所不同
行为型
10 中介者显卡、声卡,光驱(同一个基类)都跟主板进行数据交互:主板调用某个对象来进行相应的操作
12. 观察者模式消息通知
14. 迭代器模式(迭代器基类)std::vector容器
16 模板基类相同,功能不同派生(把模板实现成为抽象类,为所有的子类提供了公共的功能,就是 定义了具体的算法骨架;)
17. 策略模式(content上下文,多个策略类、多个上下文)eg. 加法、乘法、除法,本质上是分离算法,选择实现
18. 状态模式多个状态
19. 备忘录careTaker通过中间人originator保存对象memento(保存对象状态、恢复状态), memento是内存变量,careTaker的保存和恢复可能是数据io。eg.undo/redo
21 解释器(读取xml文件,抽象语法树,叶子类,节点类,context上下文,进一步地,parse"a/b/c/d"), eg.加法、除法,or
22 装饰模式(类是多层叠加派生),扩展功能.eg. 画像加框,又加玻璃,eg. 形状,圆,直线,画形状,画红色的形状
23. 责任链一个消息,多个处理类,每个类可以有下一个处理对象

以上是关于设计模式总结 模式分类的主要内容,如果未能解决你的问题,请参考以下文章

设计模式工厂模式

2.java设计模式-抽象工厂模式

抽象工厂模式

设计模式抽象工厂模式 ( 简介 | 适用场景 | 优缺点 | 产品等级结构和产品族 | 代码示例 )

#yyds干货盘点#-设计模式分享-抽象工厂模式

Java设计模式——抽象工厂模式