观察者模式
2016-04-13 14:16:21 2 举报
观察者模式是一种行为设计模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。这种模式主要用于实现事件处理系统,允许某个对象(称为“主题”)在其状态发生变化时通知所有依赖于它的对象(称为“观察者”)。观察者模式的优点在于实现了发布-订阅机制,代码解耦,具备良好的扩展性。缺点在于如果一个观察者对象处理消息的时间过长,可能会导致其他观察者对象长时间得不到通知。
作者其他创作
大纲/内容
subject
List list = new ArrayList();
+attach(Observer) : void +detach(Observer) : void notifyObserver() : void
具体观察者
聚合:是整体与部分的关系,整体和部分是可以单独存在的
实现关系
具体实现类
concreteObserver
-observerState : string
+updata() : void
《interface》observer
+updata() : void
推得模式
拉的模式
抽象主题:抽象主题把所有对观察者的引用保存在一个集合里边,每个主题可以有任何数量的观察者,抽象主题体重一个接口,可以增加或者删除观察者对象。
抽象观察者
继承关系
concreteSubject
-state
+getState() : String +change() : void
拉模型的抽象主题类主要的改变是nodifyObservers()方法。在循环通知观察者的时候,也就是循环调用观察者的update()方法的时候,传入的参数不同了。
0 条评论
回复 删除
下一页