我的Blog我做主^_^

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

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            64 隨筆 :: 68 文章 :: 77 評論 :: 0 Trackbacks
          <2007年4月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(10)

          隨筆分類

          隨筆檔案

          文章分類

          新聞分類

          收藏夾

          友情

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          一、創(chuàng)建模式

           

          創(chuàng)建模式分為類的創(chuàng)建模式和對象的創(chuàng)建模式兩種:

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

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

           

          A、 簡單工廠模式Simple Factory<Static Factory Method靜態(tài)工廠方法>

           

                 簡單工廠模式就是由一個工廠類根據(jù)傳入的參量決定創(chuàng)建出哪一種產(chǎn)品類的實例。

                 實例:      

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

                 用戶告訴銷貨員水果的名稱,銷貨員通過水果名稱找到相應(yīng)的水果

                 interface水果 (){

                        價格;

                        重量;

                        產(chǎn)地;

          }

          Class蘋果() implements 水果{

                        蘋果價格;

                        蘋果重量;

                        蘋果產(chǎn)地;

                        蘋果品種;

                 蘋果采摘日期;

          }

          Class () implements 水果{

                 梨價格;

                 梨重量;

                 梨產(chǎn)地;

                 梨品種;

                 含糖量;

                 梨采摘日期;

          }

          Class 草莓() implements 水果{

                 草莓價格;

                 草莓重量;

                 草莓品種;

                 ……

                 草莓采摘日期;

          }

          Class shop<銷貨員>(){

          //創(chuàng)建靜態(tài)工廠

          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(“水果未存在異常……”);

          }

           

          結(jié)構(gòu)圖:

           

          工廠<銷貨員>

          具體產(chǎn)品<蘋果、梨>

          抽象產(chǎn)品<水果>

           

          工廠<銷貨員>

          具體產(chǎn)品<蘋果、梨>

          抽象產(chǎn)品<水果>

          學(xué)習(xí)中......

           

           

           

           



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

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 繁峙县| 于都县| 浦北县| 新津县| 临沧市| 波密县| 临沂市| 治县。| 淮安市| 财经| 泗洪县| 乐平市| 雷波县| 清新县| 平昌县| 淮阳县| 平乐县| 洪湖市| 新泰市| 鄄城县| 江源县| 伊金霍洛旗| 永年县| 威宁| 丹巴县| 天峨县| 开原市| 阿克苏市| 揭阳市| 文安县| 临桂县| 关岭| 南昌市| 南江县| 天水市| 托克托县| 京山县| 广安市| 岗巴县| 德惠市| 保定市|