觀察者設計模式總結

1.觀察者(observer)--訂閱者設計模式

update 函數

/**
 * 觀察者
 * */
public class Coder implements Observer{
    
    private String name;
    public Coder(String name){
        this.name=name;
        print("訂閱者名字--"+this.name);
    }

2.被觀察者(observable)--發佈者測試

 必要條件: 設置狀態發生變化,而後根據變化進行通知notifythis

/**
 * 
 * 被觀察者
 * **/
public class TechCto extends Observable{
    
    public void publishContent(String content){
        setChanged();//設置狀態發生
        this.notifyObservers(content);//調用自身的通知
    }
    

}

主函數:spa

public static void main(String[] args) {
        System.out.println("測試設計模式------------------------------------");
        //被觀察者(發佈者)
        TechCto cto =new TechCto();
        //觀察者(訂閱者)
        Coder coder1=new Coder("feifei");
        Coder coder2=new Coder("huahua");
        //訂閱者註冊到發佈者上面
        cto.addObserver(coder2);
        cto.addObserver(coder1);
        //發佈信息
        cto.publishContent("yumenle");
    }

測試結果:設計

測試設計模式------------------------------------
訂閱者名字--feifei
訂閱者名字--huahua
feifei   yumenle   更新成功
huahua   yumenle   更新成功
相關文章
相關標籤/搜索