<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之旅 廣告
                ## 零、問題 面向對象強調的是盡量把系統分割成許多對象,這樣通常可以增加其復用性。但是如果有一個系統中有大量的對象,且彼此都需要聯系,這樣由于對象比較多,所以聯系就會激增,大量的連接時的一個對象不可能在沒有其他對象的支持下工作,系統表現為一個不可分割的整體,所以對系統的行為進行任何較大的改動就會變得困難,同時,代碼的復用性也降低了。這樣該怎么辦呢? ![](https://box.kancloud.cn/2016-02-18_56c5ce736517b.png) ## 一、中介者模式 為了解決上述問題,引出來中介者模式。 在將中介者模式之前,有一個法則必須先知道:迪米特法則——如果兩個類不必彼此直接通信,那么這兩個類就不應當發生直接的相互作用。如果其中一個類需要調用另一個類的某一個方法的話,可以通過第三者轉發這個調用。 中介者模式就是跟據迪米特法則進行設計的模式。 中介者模式:用一個中介對象封裝一系列的對象交互。中介者使各對象不需要顯式地相互引用,從而使其耦合松散,而且可以獨立地改變他們之間的交互。 ![](https://box.kancloud.cn/2016-02-18_56c5ce73753bb.png) 沒有中介者模式時,各個對象之間彼此交錯聯系,相互織成了網狀,通過中介者模式這個網狀結構變成了以中介為中心的星形結構,每個對象不必通過直接聯系與另一個對象發生相互作用,而是通過中介者對象與另一個對象發生相互作用,使得系統結構不會因為新對象的引入造成大量的修改工作。 ## 二、類圖 ![](https://box.kancloud.cn/2016-02-18_56c5ce73873cb.png)
                  <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>

                              哎呀哎呀视频在线观看