<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國際加速解決方案。 廣告
                抽象工廠模式(Abstract Factory):抽象工廠--顧名思義,就是把工廠抽象出來,不同的工廠生產不同的產品。這樣做有個好處:一旦需要增加新的功能,直接增加新的工廠類就可以了,不需要修改之前的代碼。 ### 一、uml建模圖: ![](https://box.kancloud.cn/2016-02-19_56c7196d53735.jpg) ### 二、代碼實現 ~~~ /** * 示例:抽象工廠--顧名思義,就是把工廠抽象出來,不同的工廠生產不同的產品 * * 優點:一旦需要增加新的功能,直接增加新的工廠類就可以了,不需要修改之前的代碼 */ interface Sender { public void send(); } class EmailSender implements Sender { @Override public void send() { System.out.println("this is a email..."); } } class SmsSender implements Sender { @Override public void send() { System.out.println("this is a sms..."); } } /** * 角色:抽象工廠 */ interface AbstractFactory { public Sender produce(); } /** * 郵件工廠 */ class EmailSendFactory implements AbstractFactory { @Override public Sender produce() { return new EmailSender(); } } /** * 短信工廠 */ class SmsSendFactory implements AbstractFactory { @Override public Sender produce() { return new SmsSender(); } } /** * 客戶端測試類 * * @author Leo */ public class Test { public static void main(String[] args) { /** * 創建工廠 */ AbstractFactory factory = new SmsSendFactory(); /** * 生產產品 */ Sender sender = factory.produce(); /** * 執行業務邏輯 */ sender.send(); } } ~~~ ###三、總結 如果你現在想增加一個功能:給特別關注的好友發信息,則只需做一個實現類,實現Sender接口,同時做一個工廠類,實現AbstractFactory接口,就可以了,無需修改現有代碼。這樣做拓展性較好!
                  <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>

                              哎呀哎呀视频在线观看