设计模式总结-封装变化、提高复用

news/2024/7/4 9:31:33 标签: 设计模式

又有一段时间没有接触设计模式了,都快忘记了,现在回忆回忆,看看还是否记得。

看了设计模式感觉设计模式主要有作用是:
1、提高复用 看看GOF的《设计模式可复用面向对象软件的基础》书名就知道
2、封装变化 提取潜在的变化,对变化进行封装,变化对开发和维护的影响降到最低

设计模式的分类:

1、创建型模式:主要是应用于对象的创建

单例模式:控制对象的数量
工厂方法模式、抽象工厂模式、生成器模式和原型模式都是用于减少使用new时与具体类之间的耦合

2、结构型模式:主要是使用对象创建更复杂的结构

适配器模式:转接对象接口,使之提供我们需要的方法
桥接模式:实现接口和具体实现的分离,支持对象多维的变化
合成模式:用于描述部分和整体的结构
装饰模式:在稳定接口的前提下,扩展对象的功能
外观模式:简化交互的复杂度
享元模式:对象的共享技术
代理模式:控制对象的访问

3、行为型模式:主要是封装对象的责任
责任链模式:封装了对象的责任,支持不同的责任
命令模式:封装命令请求,支持不同的命令请求
解释器模式:我也说不清楚,该模式理解不够,需要加强
迭代模式:封装集合的变化,支持不同的集合遍历
中介者模式:封装了对象间的交互,减少对象间的耦合
备忘录模式:封装了对象状态的变化,支持对象状态的改变
观察者模式:封装了对象的通知,减少对象间交互的耦合度
状态模式:封装与状态相关的行为,支持不同的状态行为
策略模式:封装算法,支持不同的算法
模板方法模式:封装了算法结构,将算法的一些子部分的实现放在子类中
访问者模式:增加对象的操作

呵呵,居然还记得一部分,以后要多深入理解理解,多实践,这可是架构师需要掌握的一项技能,当然,我现在不是,但它是我中期的一个目标。

转载于:https://www.cnblogs.com/yiping06993010/archive/2007/01/24/629373.html


http://www.niftyadmin.cn/n/643752.html

相关文章

可视化教学设计就业柱状图

源代码和教案(访问密码:7567)链接https://url56.ctfile.com/f/34653256-531246797-711850

使用MFC如何在整个磁盘硬盘中查找文件?

使用MFC进行开发,可以使用CFileFind类来进行文件查找,MFC完整的封装了文件查找的功能。用于文件查找的成员函数为: virtual BOOL FindFile( LPCTSTR pstrName NULL, DWORD dwUnused 0 ); 开始查询 virtual BOOL FindNextFile( ); 查找文件…

OUTLOOK EXPRESS出错信息代码表

错误码 意义一般 0x800C01310x800C013E 可能是 Folders.dbx 档案属性错误或损坏.0x800CCC00 身份验证(Authentication)未载入0x800CCC01 认证(Certificate)内容错误0x800CCC02 认证日期错误0x800CCC03 使用者已联机0x800CCC05 未…

数据可视化行业柱状图教学设计

源代码和教案(访问密码:7567)链接https://url56.ctfile.com/f/34653256-531255943-26262e

2020.6.21P72_OpenCV_几何变换_图像平移_缩放_旋转

描述: //2020.6.21P72_OpenCV_图像平移_缩放_旋转 •完成一张图像的几何变换需要两个独立的算法。首先需要一个算法实现空间坐标变换,用它描述每个像素如何从初始位置移动到终止位置;其次,还需要一个插值算法完成输出图像的每个像…

Microsoft AJAX Library对 Boolean的扩展

Microsoft AJAX Library对 Boolean对象添加了一个静态方法来扩展其功能: Boolean.parse 函数 将逻辑值的字符串表示形式转换为其 Boolean 等效对象。 此函数是静态的,可在不创建对象实例的情况下调用。 使用 parse 函数可以根据字符串表示形式创建布尔值…

2020.6.21_P77_OpenCV投影变换-通过鼠标事件在原图和输出的画布上选取四组对应的坐标

//2020.6.21_P77_OpenCV投影变换 //通过鼠标事件在原图和输出的画布上选取四组对应的坐标 //投影矩阵的数据类型为CV_64F //txwtech //2020.6.21_P77_OpenCV投影变换 //通过鼠标事件在原图和输出的画布上选取四组对应的坐标 //投影矩阵的数据类型为CV_64F //txwtech #include &…

可视化教学设计行业柱状图(二)

源代码和教案(访问密码:7567)资源链接https://url56.ctfile.com/f/34653256-531257609-044d38