乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      18. 觀察者模式

       黎可圖書(shū)館 2013-09-11
      一. 概念
      Observer(觀察者模式):定義對(duì)象間的一種一對(duì)多的依賴關(guān)系,以便當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí),所有依賴于它的對(duì)象都得到通知并自動(dòng)刷新。

      二. 角色
      抽象主題(Subject)角色:主題角色把所有對(duì)觀察者對(duì)象的引用保存在一個(gè)聚集里,每個(gè)主題都可以有任何數(shù)量的觀察者。
      抽象觀察者(Observer)角色:為所有的具體觀察者定義一個(gè)接口,在得到主題的通知時(shí)更新自己。
      具體主題(ConcreteSubject)角色:將有關(guān)狀態(tài)存入具體觀察者對(duì)象,在具體主題的內(nèi)部狀態(tài)改變時(shí),給所有登記過(guò)的觀察者發(fā)出通知。
      具體觀察者(ConcreteObserver)角色:存儲(chǔ)與主題的狀態(tài)自恰的狀態(tài)。

      三. 實(shí)現(xiàn)
      由于java提供了觀察者模式的實(shí)現(xiàn),這里就直接使用java的Api來(lái)實(shí)現(xiàn),這里模擬家長(zhǎng)對(duì)孩子下達(dá)命令。

      Test.java
      public class Test {
      public static void main(String[] args) {
      Mother m = new Mother();
      Children c1 = new Children(m);
      Children c2 = new Children(m);
      m.setInfo("死孩子,回家吃飯!");
      m.setInfo("快去寫(xiě)作業(yè)!");
      m.setInfo("快去寫(xiě)作業(yè)!");
      m.setInfo("快去睡覺(jué) !");
      }
      }
      這里Mother是具體主題角色,Children是具體觀察者角色。

      Children.java
      public class Children implements Observer {

      public Children(Mother m){
      m.addObserver(this);
      }
      @Override
      public void update(Observable o, Object arg) {
      String info = ((Mother)o).getInfo();
      System.out.println("已經(jīng)收到命令:" + info);
      }

      }
      實(shí)現(xiàn)了Observer接口,是具體觀察者角色。

      Mother.java
      public class Mother extends Observable {
      private String info = "";

      public String getInfo() {
      return info;
      }

      public void setInfo(String info) {
      if(!this.info.equals(info)){
      this.info = info;
      setChanged();
      }
      notifyObservers();
      }
      }
      繼承了Observalbe類,是具體主題角色。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多