Java设计模式之观察者模式
下文笔者讲述java设计模式之观察者模式,如下所示:
观察者模式适用场景
观察者模式: 是一种对象行为模式 用于定义一种一对多的依赖关系 当一个对象得到通知时,其相关的信息都会自动更新例
观察者模式涉及的四个角色 抽象被观察者 被观察者实现 抽象观察者 观察者实现
抽象被观察者
interface ISubject {
list<Observer> addObserver(Observer observer);
void notifyObserver();
}
被观察者实现
public class SubjectImpl implements ISubject {
List<Observer> observerList = Lists.newArrayList();
@Override
public List<Observer> addObserver(Observer observer) {
return observerList.add(observer);
}
@Override
public void notifyObserver() {
for(Observer observer : observerList ) {
observer.updateSomething();
}
}
}
抽象观察者
interface IObserver{
void updateSomething();
}
观察者实现
public class ObserverImpl implements IObserver{
@Override
public void updateSomething() {
System.out.println("被观察者做了啥,我得做啥");
}
}
使用场景代码
public class Main{
public static void main(String[] args) {
IObserver observer = new ObserverImpl();
ISubject subject = new SubjectImpl();
subject.addObserver(observer);
subject.notifyObserver();
}
}
观察者模式可使代码模块的高内聚低耦合的特性 非常方便代码的扩展
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


