Java设计模式@IT·互联网首页投稿(暂停使用,暂停投稿)

观察者模式

2017-06-21  本文已影响0人  zhangxiao

一句话概述

观察者模式软件设计模式的一种。在此种模式中,一个目标对象管理所有相依于它的观察者对象,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实时事件处理系统。

实现一个观察者模式

1.实现一个被观察对象

import java.util.Observable;

public class ObervableImp extends Observable{
    public synchronized void setChanged() {
        super.setChanged();
    };
}

2.实现一个观察者对象

import java.util.Observable;
import java.util.Observer;

public class ObserverImp implements Observer {
    private String mName;

    public ObserverImp(String name) {
        mName = name;
    }

    @Override
    public void update(Observable o, Object arg) {
        System.out.println(mName+","+arg);
    }
    
    public static void main(String[] args) {
        ObervableImp observableImp=new ObervableImp();
        observableImp.addObserver(new ObserverImp("xiaoMing"));
        observableImp.addObserver(new ObserverImp("xiaoHong"));
        observableImp.setChanged();
        observableImp.notifyObservers("您有新的消息");
    }

}

3.运行结果

image.png

观察者模式很简单,以上就足够了。

上一篇 下一篇

猜你喜欢

热点阅读