package
com.javaeye.kang.observer;
import
java.util.Observable;
import
java.util.Observer;
/*
*
观察者模式
*
Product
是被观察者,
Customer
是观察者
*
Product
价格变化后,一定要让
Customer
知道
*
目标:
Product
不用关心具体通知谁,
Customer
也不用关心通知是谁发出的
*/
//
产品类,被观察者
class
Product
extends
Observable {
private
String
name
;
private
double
price
;
public
Product(String name,
double
price) {
this
.
name
= name;
this
.
price
= price;
}
//
可以用
spring
将对象注入进来
public
void
setObserver(Observer observer) {
this
.addObserver(observer);
}
public
void
changePrice(
double
newPrice)
{
this
.
price
= newPrice;
//
设置变化点,表示要通知观察者
this
.setChanged();
//
通知所有观察者,给一个消息
this
.notifyObservers
(
"
通知:价格变化了!变成了
"
+ newPrice);
//
此时就能够自动调用观察者的
update
方法
}
}
//
顾客类,观察者
class
Customer
implements
Observer {
private
String
name
;
public
Customer(String name) {
this
.
name
= name;
}
//
参数
1
:来源于哪个对象;参数
2
:通知消息
public
void
update(Observable observable, Object object) {
System.
out
.println(object);
}
}
public
class
ObserverTest {
public
static
void
main(String[] args) {
Product
pro =
new
Product(
"
黄瓜
"
,12);
Customer
cus =
new
Customer(
"
张三
"
);
//
绑定观察者和被观察者,一个被观察者可以设置多个观察者
//pro.addObserver(cus);
pro.setObserver(cus);
//
对上面一句的小改进
pro.changePrice(13);
}
}
|
相关推荐
观察者模式,也被称为发布-订阅模式或事件驱动模式,是软件设计模式中的一种行为模式。这个模式的主要目的是在对象之间建立一种松散耦合的关系,使得当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并...
观察者模式(Observer Pattern)是设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式在软件开发中广泛应用于事件驱动...
观察者模式(Observer)是软件设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。这种模式在C++中广泛应用,特别是在需要...
**C#面向对象设计模式纵横谈(19)**:**观察者模式**(Observer Pattern)是行为型模式的一种,它在软件工程中扮演着至关重要的角色。观察者模式是一种设计模式,它定义了对象之间的一对多依赖关系,当一个对象的状态...
观察者模式(Observer)是软件设计模式中的一种行为模式,其主要目的是在对象之间建立一种松散耦合的关系,使得当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式广泛应用于事件驱动...
C#面向对象设计模式 (行为型模式) Observer 观察者模式 视频讲座下载
观察者模式(Observer)是设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。这种模式在软件开发中广泛应用于事件处理和实时...
观察者模式(Observer Pattern)是一种行为设计模式,它允许你定义一个订阅机制,可以在对象状态改变时通知多个“观察”该对象的其他对象。在软件工程中,这常用于实现事件驱动编程,使得系统能够及时响应变化。 在...
本篇文章将深入探讨“Observer”观察者模式,这是一种行为设计模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。 观察者模式的核心概念是主题...
观察者模式(Observer Pattern)是设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。这种模式常用于实现事件驱动的系统或者...
观察者模式(Observer)是一种行为设计模式,它允许你定义一个订阅机制,可以在对象状态变化时通知多个“观察”该对象的其他对象。这个模式在软件工程中扮演着重要角色,尤其是在事件驱动编程和发布/订阅系统中。...
观察者模式是一种行为设计模式,它定义了对象之间的一对多依赖关系,使得一个对象的状态发生变化时,所有依赖它的对象都能收到通知。 二、观察者模式的组件 1. 抽象观察者(Watcher) 抽象观察者是一个接口,定义...
Observer观察者模式是一种设计模式,属于行为模式的一种,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。这种模式广泛应用于事件驱动编程和实时系统...
观察者模式的核心概念是主体(Subject)和观察者(Observer)。主体是被观察的对象,它维护了一个观察者列表,并提供了添加、删除观察者以及通知所有观察者的接口。观察者关注主体的状态变化,并在主体状态改变时...
观察者模式(Observer)是一种行为设计模式,它允许你定义一个订阅机制,可以在对象状态变化时通知多个“观察”该对象的其他对象。这个模式在软件工程中广泛应用于事件驱动编程,例如用户界面组件的交互或者系统状态的...
观察者模式(Observer Pattern)是软件设计模式中的行为模式之一,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式常用于实现事件驱动或发布-...