<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 二胡 閱讀(161) 評論(2)  編輯  收藏

    評論

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


      回復  更多評論
      

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

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

      回復  更多評論
      


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


    網站導航:
     
    主站蜘蛛池模板: 久久精品国产亚洲AV未满十八| 久久国产精品免费一区二区三区| 免费中文字幕一级毛片| aa午夜免费剧场| 亚洲精品乱码久久久久久下载| 国产美女无遮挡免费视频网站| 国产无遮挡裸体免费视频在线观看| 91嫩草亚洲精品| 亚洲黄片毛片在线观看| 18以下岁毛片在免费播放| 亚洲日韩在线中文字幕综合| 亚洲AV永久青草无码精品| 永久中文字幕免费视频网站| 在线毛片片免费观看| 在线91精品亚洲网站精品成人| 久久久无码精品亚洲日韩按摩| 国产成人免费全部网站| 99re视频精品全部免费| 羞羞网站免费观看| 亚洲国产成+人+综合| 亚洲精品午夜无码电影网| 暖暖在线日本免费中文| 99ee6热久久免费精品6| 一级毛片成人免费看a| 亚洲一区二区三区高清在线观看| 国产精品亚洲成在人线| 国产免费AV片无码永久免费| 在线观看免费av网站| 毛片基地看看成人免费| 亚洲av无码专区国产不乱码| 亚洲电影在线免费观看| 亚洲女同成av人片在线观看 | 一区二区三区精品高清视频免费在线播放 | 亚洲国产激情一区二区三区| 91在线视频免费播放| 无码国产精品一区二区免费vr| 成a人片亚洲日本久久| 国产成人精品日本亚洲直接| 亚洲国产女人aaa毛片在线| 久久亚洲国产精品123区| 国产午夜免费秋霞影院|