<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專欄

      回復  更多評論
      


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


    網站導航:
     
    主站蜘蛛池模板: 日韩精品亚洲aⅴ在线影院| 四虎影视永久免费观看地址 | 亚洲a级在线观看| 亚洲真人无码永久在线| 亚洲va久久久噜噜噜久久狠狠| 成年大片免费视频播放一级| 又大又硬又爽又粗又快的视频免费| www亚洲精品少妇裸乳一区二区| 国产成人综合亚洲绿色| 免费国产高清视频| 亚洲免费福利在线视频| 久久免费视频观看| 亚洲男人的天堂在线va拉文| 亚洲综合一区国产精品| 久久久久久夜精品精品免费啦| 久久精品国产亚洲AV香蕉| 国产免费MV大全视频网站| 亚洲AV永久无码精品| 18观看免费永久视频| 亚洲精品久久无码av片俺去也 | 亚洲精品线在线观看| 一个人看的www在线观看免费| 亚洲欧美成人av在线观看| 亚洲国产一区二区三区| 免费精品一区二区三区第35| 亚洲国产成人久久| 精品一区二区三区无码免费视频| 亚洲午夜电影一区二区三区| 国产免费一区二区三区VR| 中文字幕视频在线免费观看| 亚洲白色白色永久观看| 国产精品美女自在线观看免费| 亚洲av无码一区二区三区天堂古代| 四虎成人精品一区二区免费网站| 伊人久久五月丁香综合中文亚洲| 波多野结衣免费视频观看| 亚欧免费一级毛片| 亚洲第一se情网站| 亚洲A丁香五香天堂网| 三年片在线观看免费观看大全中国| 91在线亚洲精品专区|