<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                #### 1.什么是觀察者模式 當有多個觀察者想同時觀察同一個主題對象的時候,當主題對象的狀態發生變化,觀察者能夠回調自身的方法去更新自己。 ![](https://box.kancloud.cn/2016-07-17_578b427ce9d26.png) 實現步驟: 1)定義一個觀察者接口; 2)觀察者實現觀察者接口; 3)有一個被通知者接口,里面有addObserver(Observer observer),removeObserver(Observer observer), notifyObserver()方法。 4)在被觀察者發生變化的時候,調用notifyObserver(),遍歷List,回調observer里面的方法。 實例: 1)RecyclerView和ListView的Adapter就是采用了觀察者模式。 2)Android系統內容提供者,內容觀察者也是采用了觀察者模式。 ~~~ 1)在RecyclerView的setAdapter()方法里面,它會認為注冊mObservable,使其變得是可以觀察的; 2)接著RecyclerView內部會把自己的observer注冊到observable中; 3)在Adapter調用對應的notify函數的時候,observable會去通知那些注冊到它這兒的observer去執行相應的動作。 ~~~ > 優點: 很好地解耦了通知者與觀察者。觀察者不需要了解通知者內部是怎么實現的,方便日后代碼的修改,體現 了依賴倒轉的原則。 缺點: 1.所有更新對象的動作都一樣; 2.抽象通知者還是依賴了抽象觀察者。 #### 2.事件委托
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看