摘要: 3.3 观察者模式 (Observer)/发布-订阅模式 动机: 在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系”——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都能得到通知。如果这样的依赖关系过于紧密,将使得软件不能很好地抵御变化。 使用面向对象技术,可以将这种依赖 阅读全文
posted @ 2016-02-19 17:54 wangxiaobao1114 阅读(1457) 评论(0) 推荐(0) 编辑
摘要: 3.2 Strategy (策略模式) 动机:在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都编码到对象中,将会使对象变得异常复杂,而且有时候支持不使用或不常使用的算法也是一个性能负担。 如何在运行时根据需要透明地改变对象的算法?将算法和对象本身解耦,从而避免上述问题? 阅读全文
posted @ 2016-02-19 10:22 wangxiaobao1114 阅读(375) 评论(0) 推荐(0) 编辑