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

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                工廠方法模式原理圖: ![](https://box.kancloud.cn/2016-07-12_578455cc845ca.png) 具體實現代碼: ~~~ package com.designpattern.factorymethod; public interface FactoryMethod { public Animal createAnimal(); } ~~~ ~~~ package com.designpattern.factorymethod; public class DolphinFactory implements FactoryMethod { @Override public Animal createAnimal() { return new Dolphin(); } } ~~~ ~~~ package com.designpattern.factorymethod; public class TigerFactory implements FactoryMethod { @Override public Animal createAnimal() { return new Tiger(); } } ~~~ ~~~ package com.designpattern.factorymethod; public interface Animal { public void eat(); } ~~~ ~~~ package com.designpattern.factorymethod; public class Dolphin implements Animal { @Override public void eat() { System.out.println("Dolphin is eating"); } public void swim() { System.out.println("Dolphin is swimming"); } } ~~~ ~~~ package com.designpattern.factorymethod; public class Tiger implements Animal { @Override public void eat() { System.out.println("Tiger is eating"); } public void run() { System.out.println("Tiger is running"); } } ~~~ ~~~ package com.designpattern.factorymethod; public class Client { public static void main(String[] args) { FactoryMethod factory = new TigerFactory(); Animal tiger = factory.createAnimal(); tiger.eat(); factory = new DolphinFactory(); Animal dolphin = factory.createAnimal(); dolphin.eat(); } } ~~~ 在工廠方法模式中,客戶端不在負責對象的創建,而是把這個責任交給了具體的工廠類,客戶端只負責對象的調用,從而明確各個類的職責。 如果有新的產品加進來,只需要新增加一個具體的創建產品的工廠類和具體的產品類就可以了,不會影響但原來的其他的代碼,代碼量也不會變大,后期維護更加容易,增強了系統的可擴展性。 但是使用這個模式的時候而外地編寫代碼,增加了工作量。
                  <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>

                              哎呀哎呀视频在线观看