抽象主题接口(subject)征收观察者(observer)进行注册,一般是list列表或者vector中进行注册的,notifyObserves()中便利列表执行notify()。
类图中subject与observer为聚合关系,是较强的关联关系(——、——>、<——>)。车没了轮子没法跑,我们广大男狼们没了jj是不是就成了阴阳人那?(
)
例1:
用户在第一个界面调到第二个界面里面有个button开关,button开关控制广告alertdialog,alertdialog每次进入都弹出来,只有button能控制它。
分析:
简单观察者模式可以很好的解决这个问题。如上图被观察者就是第二个界面的button按钮,一旦数据发生改变,观察者就会更新数据,从上面的例子谁是观察者那?没错除了第二个界面其他的都是观察者。当然我们有更好的办法解决,题目只是为了训练观察者模式
:“说了这么多废话,不上代码,打你个瘪三”
五分钟后......