【文件属性】:
文件名称:设计模式 观察者 发布/订阅 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()
网友评论
- 没有Main方法,没有注释---看的好难受