zl程序教程

您现在的位置是:首页 >  后端

当前栏目

设计模式之观察者模式详解架构师

模式设计模式 详解 架构师 观察者
2023-06-13 09:20:20 时间

观察者模式的定义:

定义对象间的一种一对多的依赖关系。到一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。

 

现在很多的购房者都在关注着房子的价格变化,每当房子价格变化的时候,所有的购房者都可以观察得到。

实际上以上的购房者都属于观察者,他们都在关注着房子的价格。

 

package com.blog.ytso.com; 

import java.util.Observable; 

import java.util.Observer; 

class House extends Observable{ //表示房子可以被观察 

 private float price; //房子价格 

 public House(float price){ 

 this.price = price; 

 public float getPrice() { 

 return price; 

 public void setPrice(float price) { 

 this.price = price; 

 this.setChanged(); //每一次修改的时候都应该引起观察者的注意 

 this.notifyObservers(this.price); //价格改变 通知观察者 

class Person implements Observer{ 

 private String name; 

 public Person(String name){ //设置每一个观察者的名字 

 this.name = name; 

 //Observer接口提供的方法 

 public void update(Observable o, Object arg) { 

 System.out.println(this.name+",观察到价格更改为:"+arg); 

 public String getName() { 

 return name; 

 public void setName(String name) { 

 this.name = name;