首页 > 代码库 > 观察者模式
观察者模式
观察者模式
定义:定义了对象之间的一对多依赖,当主对象改变状态时,它的所有依赖者都会收到通知并自动更新
类型:行为型
类结构图
实现代码
public class Subject { private int data; private boolean isChange; private Set<Observer> observers=new HashSet<Observer>(); public void register(Observer obj){ observers.add(obj); } public void remove(Observer obj){ observers.remove(obj); } public void notifyAlls(){ if(isChange){ for(Observer ob:observers){ ob.call(data); } isChange=false; } } public void setData(int data){ if(data!=this.data)isChange=true; this.data=http://www.mamicode.com/data; }}public interface Observer { public abstract void call(int data);}public class Jack implements Observer{ @Override public void call(int data) { System.out.println("Jack:"+data); }}public class Rusy implements Observer{ @Override public void call(int data) { System.out.println("Rusy:"+data); }}
松耦合的威力
当两个对象之间松耦合,它们依然可以交互,但是不太清楚彼此的细节。观察者模式提供了一种对象设计、让主题和观察者之间松耦合。松耦合让我们可以建立更有弹性和灵活的系统。
观察者模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。