设计模式09-观察者模式
2016-12-05 16:24
337 查看
观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。
subject主题类:
观察者
测试代码:
subject主题类:
public class Subject { List<Observe> list; public Subject() { this.list = new ArrayList<Observe>(); } public void notice() { System.out.println("老板来了大家开始工作!"); for (int i = 0; i < list.size(); i++) { list.get(i).work(); } } public void attach(Observe obs) { list.add(obs); } public void detach(Observe obs) { for (int i = 0; i < list.size(); i++) { Observe tem = list.get(i); if (tem.getName().equals(obs.getName())) { list.remove(i); return; } } } }
观察者
public class Observe { private String name; public Observe(String name){ this.name=name; } public String getName(){ return name; } public void work(){ System.out.println(name+" 收到了,开始工作!"); } }
测试代码:
public class T { public static void main(String[] args) { Subject subject = new Subject(); Observe ob1 = new Observe("ob1"); Observe ob2 = new Observe("ob2"); subject.attach(ob1); subject.attach(ob2); subject.notice(); } }
相关文章推荐
- 设计模式09_观察者模式
- JAVA设计模式-09-观察者模式
- 设计模式之观察者模式(Observer Pattern)(二)
- 乐在其中设计模式(C#) - 观察者模式(Observer Pattern)
- 乐在其中设计模式(C#) - 观察者模式(Observer Pattern)
- 设计模式随笔系列:气象站的故事-观察者模式(Observer)[原]
- 利用观察者模式设计仿真器内核接口
- .NET中的设计模式五:观察者模式
- 设计模式之Observer观察者模式
- 认识观察者模式(设计模式)[转载]
- 设计模式学习笔记(二十一)——Observer观察者
- .NET中的设计模式五:观察者模式 选择自 lane_cn 的 Blog
- 设计模式之观察者模式 (原创)
- 设计模式之观察者模式(Observer Pattern)(一)
- 设计模式之观察者模式
- IssueVision 学习笔记(三)-----设计模式之OBSERVER(观察者)模式
- 设计模式——观察者模式
- 探究观察者设计模式
- GEF框架中的设计模型(观察者模式)
- C#设计模式-观察者observer模式实现