<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            java語言

            java設計模式:工廠模式

            時間:2025-05-27 02:54:47 java語言 我要投稿
            • 相關推薦

            java設計模式:工廠模式

              導語:Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。下面我們來看看工廠模式,希望對大家有所幫助。

            java設計模式:工廠模式

              工廠設計模式

              ★ 場景和問題

              面向接口編程是java編程中的大家所公認的第一原則 接口很重要的一個功能:封裝隔離。 接口是功能塊或封裝塊的外觀。

              Java程序開發講究面向接口編程,隱藏具體的實現類,可是如何得到接口呢?

              通過工廠來獲得接口。

              工廠的本質是“選擇實現”

              工廠、接口和實現類之間的技術邊界:工廠只負責選擇實現,實現類才做真正的實現,

              而接口是限定到底實現什么東西和返回什么東西,三者之間分工明確、各負其責。

              接口

            1
            2
            3
            4
            5
            package cn.hncu.pattern.factory.dep;          
            public interface Api {          
               public String t();          
            }          

              實現類

            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            package cn.hncu.pattern.factory.dep.impl;          
            import cn.hncu.pattern.factory.dep.Api;          
            public class Impl1 implements Api{          
               @Override          
               public String t() {          
                   return "Impl1";          
               }          
            }          
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            package cn.hncu.pattern.factory.dep.impl;          
            import cn.hncu.pattern.factory.dep.Api;          
            public class Impl2 implements Api{          
               @Override          
               public String t() {          
                   return "Impl2";          
               }          
            }          

              工廠

            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            12
            13
            14
            15
            16
            17
            18
            19
            20
            21
            22
            package cn.hncu.pattern.factory.dep;          
            import cn.hncu.pattern.factory.dep.impl.Impl1;          
            import cn.hncu.pattern.factory.dep.impl.Impl2;          
            /* 工廠類的命名規范: XXXFactory          
            * 工廠方法的命名規范:            
                 獲得當前類的實例: getInstance(), newInstance(),          
                 工廠類中生產接口: getXXXApi(),createXXXApi()          
            */          
            public class ApiFactory {          
               private ApiFactory(){          
               }          
                         
               public static Api getApi(int type){          
                   if(type==1){          
                       return new Impl1();          
                   }else{          
                       return new Impl2();          
                   }          
               }          
            }          

            【java設計模式:工廠模式】相關文章:

            java設計模式:DAO模式08-18

            java設計模式:多例模式08-12

            java設計模式:裝飾模式07-08

            JAVA設計模式之單例模式07-29

            Java單例設計模式09-27

            解析Java的設計模式編程之解釋器模式的運用05-19

            Java的設計模式編程中責任鏈模式的運用的實例講解07-07

            Java的結構型模式07-09

            簡單講解Java的Future編程模式方案09-30

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院