<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    憨厚生

    ----Java's Slave----
    ***Java's Host***

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      165 隨筆 :: 17 文章 :: 90 評論 :: 0 Trackbacks

    工廠模式其實是java開發中最常用的模式之一,我們在獲取數據庫連接的時候,經常使用工廠模式;

    1、結構圖:

    2、目的:

    定義一個用于創建對象的接口,讓接口子類通過工廠方法決定實例化哪一個類;
    3、適用性:
    a) 當一個類希望由它的子類來指定它所創建的對象的時候;
    b) 當一個類不知道自己將創建什么樣的對象類的時候(有多種對象類可以選擇);
    c) 當類將創建對象的職責委托給多個幫助子類中的某一個,并且你希望將哪一個幫助子類是代理者這一信息局部化的時候;
    4、java實現:

    工廠類(Factory.java):
    public class Factory {
    ??? public Window CreateWindow (String type) {
    ????? Class cls = null;
    ????? Window win = null;
    ????? try{
    ??????? cls = Class.forName(type);
    ??????? win =(Window)cls.newInstance();
    ????? }catch(Exception ex)
    ????? {
    ??????? ex.printStackTrace();
    ????? }
    ????? return win;
    ??? }

    ??? public static void main(String[] args) {
    ??????? Factory myFactory = new Factory();
    ??????? Window myBigWindow = myFactory.CreateWindow("WindowBig");
    ??????? myBigWindow.func();

    ??????? Window mySmallWindow = myFactory.CreateWindow("WindowSmall");
    ??????? mySmallWindow.func();
    ??? }
    }
    ----------------
    window接口(Window.java)
    public abstract class Window {
    ??? public abstract void func();
    }
    ----------------
    兩個子類中的第一個WindowBig.java:
    public class WindowBig extends Window {
    ??? public void func() {
    ??????? System.out.println("This is Big Window !");
    ??? }
    }
    兩個子類中的第二個WindowSmall.java:
    public class WindowSmall extends Window {
    ??? public void func() {
    ??????? System.out.println("This is Small Window !");
    ??? }
    }



    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=271432


    [收藏到我的網摘]?? 趙小刀發表于 2005年01月28日 10:08:00
    posted on 2007-01-04 09:17 二胡 閱讀(158) 評論(2)  編輯  收藏

    評論

    # re: 轉 設計模式整理(二) 之 工廠模式 2007-01-04 14:47 二胡
    在xuyongfeng的專欄中看到如下內容,感覺不錯!就轉貼過來了!
    簡單工廠:把創建對象的工作封裝到一個類的方法中去。
    工廠方法:在抽象類中定義創建對象的接口,創建對象的具體工作推遲到子類
    中去。
    抽象工廠:在抽象類中提供一組創建一系列相關或相互依賴對象的接口。
    抽象工廠是由多個工廠方法組成的。
    抽象工廠創建一組對象,而工廠方法只是創建一個對象。
    工廠方法通常還和template設計模式一起使用。


      回復  更多評論
      

    # re: 轉 設計模式整理(二) 之 工廠模式 2007-01-04 14:53 二胡
    工廠模式有三種 分別為: 簡單工廠,工廠方法,抽象工廠

    1:簡單工廠
    一個具體的全能類。負責產生所有的子類,根據傳的參數進行比較,產生相對應的子類。
    2:工廠方法
    一個抽象的類或是接口。他只定義了方法并沒有實現。具體由繼承或是實現的子類來完成
    3:抽象工廠
    也是一個抽象的類。與工廠方法并沒有多大的區別。關鍵在于創建對象的復雜程度。
    轉貼于蔣德的JAVA專欄

      回復  更多評論
      


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


    網站導航:
     
    主站蜘蛛池模板: 在线观看永久免费视频网站 | 亚洲高清一区二区三区| 成人片黄网站色大片免费观看APP| 国产成人精品免费直播 | avtt亚洲天堂| 免费中文字幕视频| 亚洲av无码乱码在线观看野外| 亚洲日韩中文字幕一区| 日本成人在线免费观看 | 一级黄色毛片免费看| 亚洲性在线看高清h片| 国产免费一区二区三区不卡| 亚洲精品国产成人片| 99视频免费播放| 亚洲人成在线播放| 国产成人免费片在线视频观看| 理论片在线观看免费| 亚洲伊人色欲综合网| 91精品视频在线免费观看| 亚洲天堂电影在线观看| 免费看a级黄色片| 一二三区免费视频| 亚洲国产天堂久久综合网站| 可以免费看的卡一卡二| 99亚洲精品卡2卡三卡4卡2卡| 亚洲午夜日韩高清一区| 99免费在线观看视频| 亚洲最大av资源站无码av网址| 免费国产精品视频| 久久99精品视免费看| 亚洲中文字幕无码久久2020| 亚洲成av人片不卡无码久久 | 国产精品成人69XXX免费视频| 亚洲AV综合色一区二区三区| 免费精品国产日韩热久久| 免费的黄色网页在线免费观看| 亚洲国产精品高清久久久| 嫖丰满老熟妇AAAA片免费看| 又长又大又粗又硬3p免费视频| 99久久亚洲精品无码毛片| 天天拍拍天天爽免费视频|