我的Blog我做主^_^

          走向一條通往JAVA的不歸路...

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            64 隨筆 :: 68 文章 :: 77 評論 :: 0 Trackbacks

          一、創建模式

           

          創建模式分為類的創建模式和對象的創建模式兩種:

          1、  類的創建模式:類的創建模式使用繼承關系,把類的創建延遲到子類,從而封裝了客戶端將得到哪些具體類的信息,并且隱藏了這些類的實例是如何被創建和放在一起的。

          2、  對象的創建模式:而對象的創建模式則把對象的創建過程動態地委派給另一個對象,從而動態地決定客戶端將得到哪些具體類的實例,以及這些類的實例是如何被創建和組合在一起的。

           

          A、 簡單工廠模式Simple Factory<Static Factory Method靜態工廠方法>

           

                 簡單工廠模式就是由一個工廠類根據傳入的參量決定創建出哪一種產品類的實例。

                 實例:      

                 商店-----------à銷貨員[工廠] -----------à水果[抽象產品]<蘋果[產品一]、梨[產品二]、草莓[產品三]>

                 用戶告訴銷貨員水果的名稱,銷貨員通過水果名稱找到相應的水果

                 interface水果 (){

                        價格;

                        重量;

                        產地;

          }

          Class蘋果() implements 水果{

                        蘋果價格;

                        蘋果重量;

                        蘋果產地;

                        蘋果品種;

                 蘋果采摘日期;

          }

          Class () implements 水果{

                 梨價格;

                 梨重量;

                 梨產地;

                 梨品種;

                 含糖量;

                 梨采摘日期;

          }

          Class 草莓() implements 水果{

                 草莓價格;

                 草莓重量;

                 草莓品種;

                 ……

                 草莓采摘日期;

          }

          Class shop<銷貨員>(){

          //創建靜態工廠

          Public static 水果 factory(String 水果名稱) throws 水果未存在異常{

                               If(“蘋果”.equals(水果名稱)){

                                      Return new 蘋果();

          }else If(“”.equals(水果名稱)){

                        Return new ();

          }else If(“草莓”.equals(水果名稱)){

                        Return 草莓();

          }else{

                        Throw 水果未存在異常;

          }

          }    

          }

           

          獲取水果:

           

          Try{

                 蘋果 A = Shop<銷貨員>.factory(“蘋果”);

                 A = Shop<銷貨員>.factory(“”);

          }catch(Exception e){

                 System.out.println(“水果未存在異常……”);

          }

           

          結構圖:

           

          工廠<銷貨員>

          具體產品<蘋果、梨>

          抽象產品<水果>

           

          工廠<銷貨員>

          具體產品<蘋果、梨>

          抽象產品<水果>

          學習中......

           

           

           

           



          posted on 2007-04-05 00:32 java_蟈蟈 閱讀(247) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 龙门县| 荆州市| 多伦县| 大悟县| 兰州市| 松阳县| 大同县| 临夏县| 嘉禾县| 桃园县| 老河口市| 肃宁县| 桂阳县| 施秉县| 轮台县| 望都县| 馆陶县| 阿坝| 华宁县| 沁阳市| 肥西县| 舟曲县| 上饶县| 淅川县| 张北县| 休宁县| 吴忠市| 金阳县| 阜宁县| 贵定县| 伊通| 调兵山市| 彭山县| 迭部县| 呼图壁县| 馆陶县| 盘锦市| 望城县| 沁阳市| 永平县| 乐山市|