观察者模式的思想是有一个目标对象,这个对象发生了变化时,所以关心他变化的对象都会被通知到。下面是个典型的消息通信的例子:
package com.jerry.design.observer; import java.util.ArrayList; import java.util.List; // 测试类 public class Test { public static void main(String[] args) { //消息提供者 Message m = new Message(); //消息消费者 Consumer c1 = new Consumer("c1"); Consumer c2 = new Consumer("c2"); Consumer c3 = new Consumer("c3"); //注册消费者 m.attach(c1); m.attach(c2); m.attach(c3); //生产消息 m.setContent("我生产消息了!"); } } interface Oberver{ public void update(Subject subject); } class Consumer implements Oberver{ private String name; @Override public void update(Subject subject) { System.out.println("消息:"+((Message)subject).getContent()+"被"+name+"消费了"); } public Consumer(String name) { super(); this.name = name; } } class Subject{ private List<Oberver> consumers = new ArrayList<Oberver>(); public void attach(Oberver consumer){ consumers.add(consumer); } public void detach(Oberver consumer){ consumers.remove(consumer); } protected void notifyObervers(){ for(Oberver oberver:consumers){ oberver.update(this); } } } class Message extends Subject{ private String content; public String getContent() { return content; } public void setContent(String content) { this.content = content; notifyObervers(); } }
您还没有登录,请您登录后再发表评论
观察者模式详解 观察者模式(Observer Design Pattern)是行为型设计模式的一种,主要解决的是“类或对象之间的交互”问题。它定义了一个一对多的依赖关系,当一个对象的状态改变时,所有依赖的对象都会自动收到...
Qt设计模式之观察者模式
采用Java语言编写的一个观察者模式实例。观察者模式(有时又被称为模型-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,...
java观察者模式观察者模式java观察者模式观察者模式java观察者模式观察者模式
观察者模式及实例,适合初学者阅读 。。。。。。。。。。。。。。。
观察者模式(有时又被称为发布(publish )-订阅(Subscribe)模式、模型-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件...
Java 观察者模式的浅析 简单地说,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象。这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象,使这些观察者...
观察者模式
java 设计模式 观察者模式 简单实例 包括测试test类
观察者模式:对象之间多对一依赖的一种设计方案,被依赖的对象为Subject,依赖的对象为Observer,Subject通知Observer变化,这个例子是java内置观察者模式
设计模式之观察者模式Java版本实现和UML类设计图
设计模式-观察者模式(讲解及其实现代码)
设计模式--观察者模式java例子
运用观察者模式及MVC模式的整合,是javaWeb的简单的实现了选民投票
观察者模式Demo,设计模式,观察者模式
观察者模式使用
iOS 设计模式 观察者模式
我们开始发送消息第三步,在组件三中接收消息 第一步,我们先在main.js中注册一下bus 第二步,我们开始发送消息 第三步,在组件三中接收消息 vue的机制 观察者模式存在的意义 观察者模式 首先,提到观察者...
相关推荐
观察者模式详解 观察者模式(Observer Design Pattern)是行为型设计模式的一种,主要解决的是“类或对象之间的交互”问题。它定义了一个一对多的依赖关系,当一个对象的状态改变时,所有依赖的对象都会自动收到...
Qt设计模式之观察者模式
采用Java语言编写的一个观察者模式实例。观察者模式(有时又被称为模型-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,...
java观察者模式观察者模式java观察者模式观察者模式java观察者模式观察者模式
观察者模式及实例,适合初学者阅读 。。。。。。。。。。。。。。。
观察者模式(有时又被称为发布(publish )-订阅(Subscribe)模式、模型-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件...
Java 观察者模式的浅析 简单地说,观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象。这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象,使这些观察者...
观察者模式
java 设计模式 观察者模式 简单实例 包括测试test类
观察者模式:对象之间多对一依赖的一种设计方案,被依赖的对象为Subject,依赖的对象为Observer,Subject通知Observer变化,这个例子是java内置观察者模式
设计模式之观察者模式Java版本实现和UML类设计图
设计模式-观察者模式(讲解及其实现代码)
设计模式--观察者模式java例子
运用观察者模式及MVC模式的整合,是javaWeb的简单的实现了选民投票
观察者模式Demo,设计模式,观察者模式
观察者模式使用
iOS 设计模式 观察者模式
我们开始发送消息第三步,在组件三中接收消息 第一步,我们先在main.js中注册一下bus 第二步,我们开始发送消息 第三步,在组件三中接收消息 vue的机制 观察者模式存在的意义 观察者模式 首先,提到观察者...