观察者模式

简介: 观察者模式

1.观察者 Observer 例如客户

2.被观察者 Observable 例如 商品

3.被观察者基础Observable

public class House extends Observable {
    private int price;
    public int getPrice() {
        return price;
    }
    public House(int price){
        this.price = price;
    }
    public void setPrice(int price) {
        if (price!=this.price){
            this.price = price;
            setChanged();
       //传入的price 会再update方法里收到 即arg
            notifyObservers(price);
        }
    }
}

4.观察者实现Observer

public class People implements Observer {
    @Override
    public void update(Observable o, Object arg) {
        if (o instanceof House){
            System.out.println("房价为"+arg);
        }
    }
}

5.测试类

public static void main(String[] args) {
        House house = new House(100);
        People A = new People();
        People B = new People();
        People C = new People();
        //添加观察者
        house.addObserver(A);
        house.addObserver(B);
        house.addObserver(C);
        //取消观察者
        house.deleteObserver(A);
        house.setPrice(1001);
    }


目录
相关文章
|
9天前
|
设计模式 消息中间件 Java
观察者模式
观察者模式
16 1
|
19天前
|
C++
【C++】—— 观察者模式
【C++】—— 观察者模式
|
19天前
|
设计模式 JavaScript 开发者
详细讲解什么是观察者模式
详细讲解什么是观察者模式
|
11月前
|
关系型数据库 API
观察者模式解读
观察者模式解读
|
19天前
行为型 观察者模式(发布订阅)
行为型 观察者模式(发布订阅)
20 0
|
19天前
|
设计模式 Java
【观察者模式】 ——每天一点小知识
【观察者模式】 ——每天一点小知识
|
8月前
5 # 观察者模式
5 # 观察者模式
16 0
|
XML 设计模式 Java
观察者模式(下)
观察者模式(下)
43 0
|
设计模式
观察者模式(上)
观察者模式(上)
56 0
|
设计模式
我学会了,观察者模式
观察者模式属于行为型模式,这个类型的设计模式总结出了 类、对象之间的经典交互方式,将类、对象的行为和使用解耦了,花式的去使用对象的行为来完成特定场景下的功能。
107 0
我学会了,观察者模式