行为设计模式

行为设计模式包括:观察者模式。

1、观察者模式

  观察者(Observer)模式允许你定义一种订阅机制, 可在对象状态改变或事件发生时通知多个“观察” 该对象的其他对象。这种模式有时又称作发布-订阅模式、模型-视图模式,比如顾客对商店里的苹果很感兴趣,他会每天到店里查看有没有优惠活动,这样其实很浪费时间,这种情况就可以使用观察者模式:对苹果感兴趣的顾客作为观察者来向商店订阅苹果的活动消息,当商店的苹果搞活动的时候就通知所有订阅的顾客,顾客自行处理该通知。

行为设计模式
//抽象观察者
interface Observer {
    void response(); //订阅的事件发生,进行反应
}

//具体观察者
class ConcreteObserver implements Observer {
    public void response() {
        System.out.println("观察者作出反应!");
    }
}

class Subject 
{
    protected List<Observer> observers = new ArrayList<Observer>();
    
    public void add(Observer observer) //增加观察者
    {
        observers.add(observer);
    }
    
    public void remove(Observer observer) //删除观察者
    {
        observers.remove(observer);
    }

    public void notifyObserver() //通知所有观察者
    {
         for (Observer obs : observers) 
         {
            obs.response();
         }
    }
}
View Code

 

上一篇:Android LiveData笔记


下一篇:06、Android进阶--Rxjava源码解析