文件名称:设计模式 观察者 发布/订阅 Observer
文件大小:6KB
文件格式:ZIP
更新时间:2015-08-19 18:47:49
设计模式 观察者 发布/订阅 Observer
转载请注明出处,此系列的例子都是本人想了很久认为适合教学容易理解的,若有更好的例子也请发邮件给我一起研究,nj.lg#163.com Observer (观察者模式) 又叫做发布/订阅(Publish/Subscribe)模式。 当一个对象的改变同时会影响其他对象的行为的时候,可以使用此设计模式。 l 主题对象 :一个需要被关注的主题对象,这个主题对象改变会影响其他对象的行为 l 订阅对象:当主题对象发生改变,订阅对象需要相应处理。 l 观察者对象:抽象出观察者对象,负责管理需要被通知的订阅对象并通知它们。 当主题对象发生改变时如何通知观察者对象 l 主题对象内部包含观察者对象,发生改变时主动去通知观察者对象 l 启动一个线程轮询查看主题对象,发现改变主动去通知观察者对象 l 例子 便于大家理解举个例子并实现。代码为Java 代码,使用了Spring和JUnit。 l 需求 有一个小朋友叫小明。 妈妈每年要给他办生日派对, 爸爸关注小明的学习,到了年龄就要给小明找学校,从幼儿园,小学,初中,高中,大学。 小明的爷爷是个老财主,等小明大学毕业了就送小明一套别墅。 l 分析 n 有一个人小明 作为被关注的主题对象(关注的是小明的年龄) n 三个订阅对象 u 妈妈:每年都要给小明过生日 u 爸爸:根据小明的年龄情况需要给小明找学校 u 爷爷:等小明大学毕业送别墅给小明 抽象出一个观察者对象,负责通知和管理三个订阅对象
【文件预览】:
Observer
----src()
--------applicationContext.xml(1KB)
--------oo()
--------log4j.properties(827B)
----test()
--------oo()