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(); } }
观察者模式可使代码模块的高内聚低耦合的特性 非常方便代码的扩展
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。