`

java 设计模式学习笔记十三 observer设计者模式

阅读更多



observer设计者模式




示例代码如下:


/**
* 商品
*
* @time 下午09:37:56
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class Procuct extends Observable {
private String name;
private float price;


public String getName() {
return name;
}


public void setName(String name) {
this.name = name;
// 设置变们点
setChanged();
notifyObservers(name);
}


public float getPrice() {
return price;
}


public void setPrice(float price) {
this.price = price;
// 设置变们点
setChanged();
notifyObservers(new Float(price));
}


/**
* TODO 保存数据
*/
public void saveToDb() {


}


}






/**
* 自定义观察者
*
* 对商品名进行观察
*
* @time 下午09:43:58
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class NameObserver implements Observer {
private String name = null;


@Override
public void update(Observable o, Object arg) {
if (arg instanceof String) {
name = (String) arg;
// 此处可以和用户互动
System.out.println("nameObserver : name changet to" +


name);
}
}
}






/**
* 自定义观察者
*
* 对商品价格进行观察
*
* @time 下午09:43:58
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class PriceObserver implements Observer {
private float price = 0;


@Override
public void update(Observable o, Object arg) {
if (arg instanceof Float) {
price = ((Float) arg).floatValue();
//此处可以和用户互动
System.out.println("nameObserver : price changet to" +


price);
}
}
}




/**
* 测试观察者
*
* @time 下午09:48:34
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class TestObserver {
public static void main(String[] args) {


Procuct product = new Procuct();
NameObserver nameObserver = new NameObserver();
PriceObserver priceObserver = new PriceObserver();


product.addObserver(nameObserver);
product.addObserver(priceObserver);


product.setName("tell me why");
product.setPrice(2.22f);
}
}

分享到:
评论

相关推荐

    设计模式C++学习之观察者模式(Observer)

    设计模式C++学习之观察者模式(Observer)

    Java设计模式 设计模式介绍

    1、爪哇语言结构性模式之变压器模式介绍 2、爪哇语言抽象工厂创立性模式介绍 3、工厂方法创立性模式介绍 4、单态创立性模式介绍 5、单态创立性模式介绍 6、观察者模式介绍7、责任链模式 8、设计模式之Observer 9、...

    Java 设计模式-观察者模式(Observer)

    结合微信公众号讲解观察者模式,生动形象,关键是上手快啊

    JAVA设计模式chm文档

    设计模式之Observer 设计模式之Chain of Responsibility(职责链) 设计模式之Command 设计模式之State 设计模式之Strategy(策略) 设计模式之Mediator(中介者) 设计模式之Interpreter(解释器) 设计模式之Visitor

    JAVA设计模式之行为模式

    这是JAVA设计模式中属于行为模式的部分,包括Template(模板模式)、Chain of Responsibility(责任链模式)、Memento(纪念品模式)、Mediator(中介模式)、Strategy(策略模式)、State 、Observer(观察者模式)、Visitor...

    详解Observer Pattern(观察者模式)在Java中的使用原理

    我们说学习Java应该从Swing开始,那么学习Swing最重要的思想就是对于观察者模式的理解(Observer Pattern)。因为,该设计模式在Java Swing框架中贯穿了始终。对于C#的委托、代理概念所使用的Callback(回调模式--...

    Observer设计模式实例

    Observer设计模式是一种经典的设计模式,在GOF 23种设计模式种 比较常用于实际。主要是有类指针传递并引用方法和消息传递响应的方法来实现。

    33种JAVA设计模式DEMO

    观察者模式(Observer Pattern) 状态模式(State Pattern) 空对象模式(Null Object Pattern) 策略模式(Strategy Pattern) 模板模式(Template Pattern) 访问者模式(Visitor Pattern) 4 J2EE 模式 这些设计...

    [Java设计模式(第2版)(Design.Patterns.in.Java).John.Metsker

    《java设计模式(第2版)》适合各个层次的java开发人员与设计人员阅读,也可以作为学习java与设计模式的参考读物或教材。 目录: 第1章 绪论 1 第2章 接口型模式介绍 8 第3章 适配器(adapter)模式 13 第4章 外观(facade...

    java设计模式之Observer参考.pdf

    java设计模式之Observer参考.pdf

    java设计模式之Observer[整理].pdf

    java设计模式之Observer[整理].pdf

    23种设计模式的java源代码

    里面包含了23中设计模式源代码,其中包括工厂模式(Factory)、单例(Singleton)、观察者模式(Observer)、适配器模式(Adapter)、Template模式、Decorate模式、proxy模式等 这些代码对于初学者看起来稍微复杂一些,我...

    java设计模式教程+源代码

    AbstractFactory ( 抽象工厂 ) FactoryMethod ( 工厂方法 ) Singleton ( 单态模式 ) ...Observer ( 观察者模式 ) State ( 状态模式 ) Strategy ( 策略模式 ) TemplateMethod ( 模板方法 ) Visitor ( 访问者模式 )

    用Java实现23种设计模式

    用Java实现23种设计模式 1. 创建型模式 工厂模式(Factory Pattern) 抽象工厂模式(Abstract Factory Pattern) 单例模式(Singleton Pattern) 建造者模式(Builder Pattern) 原型模式(Prototype Pattern)...

    Java设计模式之观察者模式(Observer模式)介绍

    主要介绍了Java设计模式之观察者模式(Observer模式)介绍,Java深入到一定程度,就不可避免的碰到设计模式(design pattern)这一概念,了解设计模式,将使自己对java中的接口或抽象类应用有更深的理解,需要的朋友可以...

    设计模式 观察者 发布/订阅 Observer

    Observer (观察者模式) 又叫做发布/订阅(Publish/Subscribe)模式。 当一个对象的改变同时会影响其他对象的行为的时候,可以使用此设计模式。 l 主题对象 :一个需要被关注的主题对象,这个主题对象改变会影响...

    JAVA 设计模式PPT

    首先介绍了Java中面向对象特性和技术,逐个分析Abstract Factory;Builder;Prototype;Singleton;Adapter (对象);Bridge;Composite;Decorator;Facade;Flyweight;Proxy;Iterator;Observer等模式

    C#面向对象设计模式纵横谈(19):(行为型模式) Observer 观察者模式 (Level 300)

    C#面向对象设计模式纵横谈(19):(行为型模式) Observer 观察者模式 (Level 300)

    设计模式之观察者模式(Observer)

    观察者模式(Observer) 用意:定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象。

    java设计模式期末考试选择题100道

    适合Java设计模式期末考试选择题复习,形式如下: 10.(单选题)Facade(外观)模式的意图是 正确答案: A A.希望简化现有系统的使用方法,你需要定义自己的接口 B.将一个无法控制的现有对象与一个特定借口相匹配。 C....

Global site tag (gtag.js) - Google Analytics