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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                簡單的橋模式(birdge)將抽象與其實現解耦合,使他們的可以獨立地變化,中文里把派生類叫做抽象的實現,而橋模式中所講的實現恰恰不是這個意思,橋模式中的抽象類及派生類,實現指的是這些抽象類及派生類實現自己的方式。 簡單的橋模式(birdge)的原理圖 ![](https://box.kancloud.cn/2016-07-12_57845609804f5.png) 下面是關于這個模式的簡單的一個例子程序,有一個鼠標抽象類,其這個鼠標分別屬于聯想和宏基生產的,這樣用橋模式通過組合和繼承,簡單的實現了這種邏輯關系,并且達到了良好的復用,其實在實現的原理方面和上一個模--------裝飾模式的實現原理是一樣的: ~~~ package com.designpattern.bridge; public abstract class Mouse { private Computer computer; public Mouse(Computer computer) { this.computer = computer; } public void produce() { this.computer.produce(); } } ~~~ ~~~ package com.designpattern.bridge; public interface Computer { public void produce(); } ~~~ ~~~ package com.designpattern.bridge; public class BlackMouse extends Mouse { public BlackMouse(Computer computer) { super(computer); } @Override public void produce() { super.produce(); System.out.println("blackMouse"); } } ~~~ ~~~ package com.designpattern.bridge; public class RedMouse extends Mouse { public RedMouse(Computer computer) { super(computer); } @Override public void produce() { super.produce(); System.out.println("redMouse"); } } ~~~ ~~~ package com.designpattern.bridge; public class Lenovo implements Computer { @Override public void produce() { System.out.print("Lenovo's "); } } ~~~ ~~~ package com.designpattern.bridge; public class Acer implements Computer { @Override public void produce() { System.out.print("Acer's "); } } ~~~ ~~~ package com.designpattern.bridge; public class Client { public static void main(String[] args) { new BlackMouse(new Lenovo()).produce(); new RedMouse(new Lenovo()).produce(); new BlackMouse(new Acer()).produce(); new RedMouse(new Acer()).produce(); } } ~~~ 使用橋模式,能夠提供比使用繼承關系更靈活的功能,他可以使抽象和實現分離開,降低了耦合關系。當有新的抽象類或實現方式時,之需要集成一個抽象和繼承一個實現即可。 如果如需重新抽象出另外的一個類型,則需要修改抽象。比如前面除了電腦品牌和鼠標之外,還可以把鼠標分為無線和有線,此時就需要重新抽象出一個類型來。
                  <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>

                              哎呀哎呀视频在线观看