<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                中介者模式(Mediator):主要用來降低類與類之間的耦合的,因為如果類與類之間有依賴關系的話,不利于功能的拓展和維護,因為只要修改一個對象,其它關聯的對象都得進行修改。 ##一、uml建模: ![](https://box.kancloud.cn/2016-02-19_56c7196f4a941.jpg) ##二、代碼實現 ~~~ /** * 中介者模式(Mediator):主要用來降低類與類之間的耦合的,因為如果類與類之間有依賴關系的話, * * 不利于功能的拓展和維護,因為只要修改一個對象,其它關聯的對象都得進行修改。 * * 示例:下面以房屋(出租)中介為例 */ interface Mediator { void createMediator(); void recommendHouse(); } /** * 咱(User)讓中介幫我們推薦房子 * * 所以咱需要持有一個中介實例 */ abstract class User { private Mediator mediator; public User(Mediator mediator) { this.mediator = mediator; } public Mediator getMediator() { return mediator; } public abstract void selectHouse(); } class ZhangSan extends User { public ZhangSan(Mediator mediator) { super(mediator); // TODO Auto-generated constructor stub } @Override public void selectHouse() { System.out.println("張三在選房子..."); } } class LiSi extends User { public LiSi(Mediator mediator) { super(mediator); // TODO Auto-generated constructor stub } @Override public void selectHouse() { System.out.println("李四在選房子..."); } } /** * 房屋中介:中介向要找房子的那些人推薦房子,由他們選擇自己想要的房子。 * * 因此中介得持有那些實例,才有可能把房子租出去。 */ class MyMediator implements Mediator { private User zhangsan; private User lisi; public User getZhangsan() { return zhangsan; } public User getLisi() { return lisi; } @Override public void createMediator() { zhangsan = new ZhangSan(this); lisi = new LiSi(this); } /** * 中介向要找房子的那些人推薦房子,由他們選擇自己想要的房子 */ @Override public void recommendHouse() { zhangsan.selectHouse(); lisi.selectHouse(); } } /** * 客戶端測試類 * * @author Leo */ public class Test { public static void main(String[] args) { Mediator mediator = new MyMediator(); mediator.createMediator(); mediator.recommendHouse(); } } ~~~ ##三、總結 中介者模式只需關心和Mediator類的關系,具體類與類之間的關系及調用交給Mediator就行。
                  <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>

                              哎呀哎呀视频在线观看