二十三种设计模式类图(15)
时间:2025-04-05
时间:2025-04-05
每一次鼠标键盘敲击都在我们的程序内部流转着的事件机制的基础。当一个事件发生,则通知订阅该事件的对象。
实现:上 面的UML图看似复杂,实际上,去理解它的最好的办法就是试着思考和使用任何一种OO语 言来定义一个拥有事件机制的类。比如,.Net下,你只要好好去看看关于delegate的 文档,尝试着根据MSDN写写看一个最简单的自定义事件。那么,上面的UML图, 我敢保证你能很轻易的看明白。
重构成本:高。 3.9 State
思想:允许一个对象在其内部状态改变时改变它的行为。
场景:实 际上该模式在作为重构的目的是,绝大多数情况我们做的事情是将对一个类的state进行if-else或 者select-case,决定该执行什么操作的过程解耦的过程。
实现:将 表述一个类的某些操作该做什么,该怎么做的信息保存到其state中。即用一个包含更多信息,甚至 执行逻辑的state类实例来代替一个简单数据类型的state属 性。 重构成本:中。
3.10Strategy
思想:定 义一系列的算法,把它们一个个封装起来, 并 且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。
场景:该 模式实际上也可以理解为一种Bridge模式的变种。只是它突出的是,一般当我们把一个类或者一组 类的一些代码独立成一个Strategy类的时候,我们可能会为同样接口的
上一篇:斜二测画法的几个问题
下一篇:提高初中音乐教学实效性的几点探索