手机版

二十三种设计模式类图(15)

时间:2025-04-26   来源:未知    
字号:

每一次鼠标键盘敲击都在我们的程序内部流转着的事件机制的基础。当一个事件发生,则通知订阅该事件的对象。

实现:上 面的UML图看似复杂,实际上,去理解它的最好的办法就是试着思考和使用任何一种OO语 言来定义一个拥有事件机制的类。比如,.Net下,你只要好好去看看关于delegate的 文档,尝试着根据MSDN写写看一个最简单的自定义事件。那么,上面的UML图, 我敢保证你能很轻易的看明白。

重构成本:高。 3.9 State

思想:允许一个对象在其内部状态改变时改变它的行为。

场景:实 际上该模式在作为重构的目的是,绝大多数情况我们做的事情是将对一个类的state进行if-else或 者select-case,决定该执行什么操作的过程解耦的过程。

实现:将 表述一个类的某些操作该做什么,该怎么做的信息保存到其state中。即用一个包含更多信息,甚至 执行逻辑的state类实例来代替一个简单数据类型的state属 性。 重构成本:中。

3.10Strategy

思想:定 义一系列的算法,把它们一个个封装起来, 并 且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。

场景:该 模式实际上也可以理解为一种Bridge模式的变种。只是它突出的是,一般当我们把一个类或者一组 类的一些代码独立成一个Strategy类的时候,我们可能会为同样接口的

二十三种设计模式类图(15).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)