观察者设计模式
一。前言面临的问题:在一个软件系统中,当某个对象的状态(或者执行某些操作)发生变化,某些其他的对象也做出相应的改变。
有什么解决方案呢?解决方案一:class objectA{? operationA1(){? ? ? do something ...? ? ? //通知objectB、objectC做出相应改变? ? ? objectB.operationB1;? ? ? objectC.operationC1;? ? ? objectN.operationN1;? }}class objectB{? ?operationB1}class objectC{? ?operationC1}概述
在http://www.iteye.com/topic/102068/?中作者对观察者模式讲解的比较通俗了(表演者和评委的例子),让我也知道了java.util包中有对观察者模式的支持(提供了被观察者类Observable和观察者接口Observer,?Observable 类中给出了被观察者应具备的一切条件),还提到spring和hibernate也有对该模式的支持。
?
观察者模式的用途是什么?
?
?
?
?
?
?读《重构与模式》《重构与模式》p193-198 在原先硬编码设计基础上进行了重构,体会随着需求增多,基于“可扩展性”考虑做的设计,慢慢改进过程。1.委派事件模型:Delegation Event Model
2.熟悉了面向方面编程AOP,如果想深入学习 面向方面技术实现设计模式,可参见系列文章
?《用 AspectJ 增强设计模式》
a.?http://www.ibm.com/developerworks/cn/java/j-aopwork5/
b.?http://www.ibm.com/developerworks/cn/java/j-aopwork6/
?
?
?
?
?
?