Python 官方文档:入门教程 => 点击学习
目录1.观察者模式是什么2.如何实现3.代码实现1)观察者接口2)被观察者接口3)观察者实现4)被观察者实现5)测试类4.延伸拓展1.观察者模式是什么 顾名思义,有两个对象,观察者和
顾名思义,有两个对象,观察者和被观察者。当被观察者数据发生变化时,提醒观察者更新数据或状态。
1)定义两个类,观察者和被观察者。
2)被观察者要维护一个集合,存放观察者对象。并且提供增删方法。
3)被观察者数据发生变化时,要调用观察者的方法,以便通知观察者更新数据或状态。
4)基于面向抽象原则,可以将观察者和被观察者中的方法提取接口中。
public interface Observer {
public void uPdate();
public void remove();
}
public interface Observed {
public void addObserver(Observer observer);
public void deleteObserver(Observer observer);
public void notifyObservers();
}
public class ObserverImpl implements Observer {
public ObserverImpl(){
}
@Override
public void uPdate() {
System.out.println("update....");
}
}
public class ObserverImpl implements Observer {
public ObserverImpl(){
}
private Observed observed;
public ObserverImpl(Observed observed){
this.observed = observed;
observed.addObserver(this);
}
@Override
public void uPdate() {
System.out.println("观察者更新数据变化....");
}
@Override
public void remove() {
if(observed!=null){
observed.deleteObserver(this);
}
}
}
public class TestObserver {
public static void main(String args []){
ObservedImpl subject = new ObservedImpl();
ObserverImpl observer1 = new ObserverImpl(subject);
subject.notifyObservers();
}
}
在Android的代码中,有很多地方用到了观察者模式。
Android的广播机制,就是采用的观察者模式。
我们创建一个广播接收者,来接收系统广播。在Android源码中,其实就维护了一个接收者的集合,用于存放所有的广播接收者。
到此这篇关于Java设计模式探究之观察者模式详解的文章就介绍到这了,更多相关Java观察者模式内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Java设计模式探究之观察者模式详解
本文链接: https://lsjlt.com/news/166229.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0