JAVA设计模式之观察者模式

 时间:2024-10-17 07:05:40

1、观察者设计模式模拟是一个非常有意思的设计模式,可以理解为一触即发。如果要想实现观察者的设计模式需要以下的两个程序结构:观察者:jav锾攒揉敫a.util.Observer;被观察者:java.util.Observable;范例:实现观察者://这些是所有的观察者class Person implements Observer { @Override public void update(Observable o, Object arg) { //一旦你关注的事情发生了变化 if(o instanceof House) { if(arg instanceof Double) { System.out.println("房价上涨!新价格:" + arg); } } } }

JAVA设计模式之观察者模式

3、在客户端注册观察者:public class ObserverDesign { public static void main(String[] args) { Person personA = new Person(); Person personB = new Person(); Person personC = new Person(); //设置观察者 House house = new House(8000000); house.addObserver(personC); house.addObserver(personB); house.addObserver(personA); house.setPrice(9000000); } }

JAVA设计模式之观察者模式

5、当房价下降执行main主方法观察者不会收到通知:package com.gwolf.design;import java.util.Observable;import java.util.Observer;//这些是所有的观察者class Person implements Observer { @Override public void update(Observable o, Object arg) { //一旦你关注的事情发生了变化 if(o instanceof House) { if(arg instanceof Double) { System.out.println("房价上涨!新价格:" + arg); } } } }//被观察者class House extends Observable { private double price; public House(double price) { this.price = price; } public void setPrice(double price) { if(price > this.price) { super.setChanged(); //现在关注的价格改变了 super.notifyObservers(price); //唤醒所有的观察者 } this.price = price; }}public class ObserverDesign { public static void main(String[] args) { Person personA = new Person(); Person personB = new Person(); Person personC = new Person(); //设置观察者 House house = new House(8000000); house.addObserver(personC); house.addObserver(personB); house.addObserver(personA); house.setPrice(7000000); } }

JAVA设计模式之观察者模式
  • 设计模式笔记之观察者模式
  • Unity 设计模式之 观察者模式的实例介绍
  • php的观察者模式
  • 观察者图文攻略
  • 我的世界怎么制作观察者陷阱
  • 热门搜索
    常州旅游景点大全 湖南商贸旅游职业技术学院 南宁旅游景点 日本旅游必去的地方 肯尼亚旅游 青岛旅游学校 鲅鱼圈旅游 无锡旅游节 西沙旅游 北京旅游景区