<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. 定義 >抽象工廠模式是一個超級工廠,用來創建其他工廠。 這個工廠也被稱為工廠的工廠。 ## 2. 場景 >如果需要創建的子類越來越多,不止只有手機,還有ipad、電腦什么的,難道每一個子類都要對應一個工廠類嗎? 解決上述問題的辦法是可以用抽象工廠模式 ## 3. 重構工廠方法的代碼 結構變化如下: ![](https://img.kancloud.cn/67/80/6780af2599c4450fb215cf5c807aab92_796x263.png) **`phone包下代碼:`** ~~~ public interface IPhone { void packaging(); } public class HWPhone implements IPhone { @Override public void packaging() { System.out.println("華為手機"); } } public class MIPhone implements IPhone { @Override public void packaging() { System.out.println("小米手機"); } } ~~~ **`ipad包下代碼:`** ~~~ public interface Ipad { void packaging(); } public class HWpad implements Ipad { @Override public void packaging() { System.out.println("華為ipad"); } } public class MIpad implements Ipad { @Override public void packaging() { System.out.println("小米ipad"); } } ~~~ **`factory包下代碼:`** ~~~ public interface IFactory { IPhone packaging1(); Ipad packaging2(); } public class Factory implements IFactory { @Override public IPhone packaging1() { return new HWPhone(); } @Override public Ipad packaging2() { return new HWpad(); } } ~~~ **`測試類代碼:`** ~~~ public class TestClient { public static void main(String[] args) { IFactory factory = new Factory(); factory.packaging1().packaging(); factory.packaging2().packaging(); } } ~~~ ## 4. 總結 >當需要創建的對象是一系列相互關聯或相互依賴的產品族時,便可以使用抽象工廠模式。說的更明白一點,就是一個繼承體系中,如果存在著多個等級結構(即存在著多個抽象類),并且分屬各個等級結構中的實現類之間存在著一定的關聯或者約束,就可以使用抽象工廠模式。假如各個等級結構中的實現類之間不存在關聯或約束,則使用多個獨立的工廠來對產品進行創建,則更合適一點。
                  <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>

                              哎呀哎呀视频在线观看