设计模式观察者发布/订阅Observer

Observer (观察者模式)又叫做发布/订阅(Publish/Subscribe)模式。当一个对象的改变同时会影响其他对象的行为的时候,可以使用此设计模式。 l主题对象:一个需要被关注的主题对象,这个主题对象改变会影响其他对象的行为 l订阅对象:当主题对象发生改变,订阅对象需要相应处理。 l观察者对象:抽象出观察者对象,负责管理需要被通知的订阅对象并通知它们。当主题对象发生改变时如何通知观察者对象 l主题对象内部包含观察者对象,发生改变时主动去通知观察者对象 l启动一个线程轮询查看主题对象,发现改变主动去通知观察者对象 l例子便于大家理解举个例子并实现。代码为Java代码,使用了Spring和JUnit。 l需求有一个小朋友叫小明。妈妈每年要给他办生日派对,爸爸关注小明的学习,到了年龄就要给小明找学校,从幼儿园,小学,初中,高中,大学。小明的爷爷是个老财主,等小明大学毕业了就送小明一套别墅。 l分析 n有一个人小明作为被关注的主题对象(关注的是小明的年龄) n三个订阅对象 t妈妈:每年都要给小明过生日 t爸爸:根据小明的年龄情况需要给小明找学校 t爷爷:等小明大学毕业送别墅给小明抽象出一个观察者对象,负责通知和管理三个订阅对象
zip 文件大小:6.43KB