分享
 
 
 

设计模式学习笔记——行为模式

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

(本人初学,欢迎看到这篇文章的大哥大姐批评指正)

这11种行为模式充分的体现了“面向对象”的特点,它将各种行为过程甚至状态看成对象并用类封装,将面向对象发挥到极致。

(1)职责链模式。该模式对查找过程进行了封装,通过链使得每个对象都有处理请求的可能,链上的每个对象只对自己感兴趣的请求作相应,这样就将寻找请求响应者的过程封装在了对象链里。链的结构如果在编译时刻被固定的话还好,不过要动态的维护这样一个链式结构还是有些难度的。

(2)命令模式。该模式对命令这一动作进行了封装。命令的发出者不需要知道自己发出的什么命令,而是调用自己所对应的命令对象的“执行”方法。在该模式下,我们可以方便的动态定制界面。还可以和备忘录模式一起实现“取消功能”,甚至做一个类似photoshop里的历史功能的命令脚本。

(3)解释器模式。我直接性没看懂啊,这种模式对哪种行为进行封装?我不懂正则表达式啊,希望有高人指点啊。

(4)迭代器模式。该模式对遍历过程进行了封装。这个蛮好理解的,因为C++的标准模板库STL就使用了iterator。STL里的迭代子重载了++,__运算符,使得遍历十分方便。

(5)中介模式。该模式对各对象之间的交互过程进行了封装。我个人感觉它很像是多极化行为化了的装饰模式。装饰模式在结构上为一个子系统提供简单接口,中介模式为多个对象接口进行了衔接。

(6)备忘录模式。撤销/重做这一伟大功能实现的基础啊。该模式奖励时状态封装到类中。

(7)观察者模式。该模式将对象之间的依赖更新过程进行了封装。书中举的文档视图结构在这种模式中方便的实现了对象解耦。MFC也支持一个文档多个视图的结构,我只是出学MFC,不知那其中是否有观察者啊。那位达人指点指点啊。

(8)状态模式。该模式对状态响应行为进行封装。每种状态都生成一个子类,每个子类处理本状态的响应。程序可以动态的根据状态生成子类。这种方式避免了大量的switch/case调用,提高了效率。但是该方法却生成了太多的子类,所以该模式的使用应该注意仔细权衡利弊。

(9)策略模式。该模式对实现一定功能的算法进行了封装。把完成同种功能的多个算法用多个子类封装起来,实现动态无耦合的算法改变。这种算法的隐蔽有些像函数指针啊。

(10)模板方法。不知道这里不叫做模板模式而叫做方法,可能是这种方法和语言有关吧。C++提供了模板支持,其他我不知啊。这种方法可以在保持原算法结构的前提下将实现延迟到子类。MFC里有的应该是这种模式吧,它的每个应用都是用模板使子类套用原来的CWinApp/CDocument/CView结构。好强啊,MFC。

(11)访问者模式。该模式将针对对象的各种操作封装到多个子类中。当我们要对某个对象进行操作时,便将这个对象当作参数调用访问这类的方法,个人感觉有点像C风格的函数调用,无疑也不利于类的封装。这种模式需要使用在操作多变但数据结构不变的地方。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有