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

      回復  更多評論
      


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


    網站導航:
     
    主站蜘蛛池模板: 久久成人无码国产免费播放| 本道天堂成在人线av无码免费| 久久精品无码一区二区三区免费| 亚洲综合一区二区三区四区五区| 国产精品久久久久影院免费| 一级毛片无遮挡免费全部| 精品亚洲永久免费精品| 全部免费毛片在线播放| 亚洲精品456人成在线| 国产精品亚洲高清一区二区 | 精品一区二区三区免费毛片| 亚洲色偷拍另类无码专区| 久久午夜夜伦鲁鲁片免费无码影视| 亚洲精品美女久久7777777| 国产亚洲精品a在线观看 | 精品国产香蕉伊思人在线在线亚洲一区二区 | 99在线观看视频免费| 国产亚洲精品国产福利在线观看| 亚洲AV无码一区二区乱子伦| 精品少妇人妻AV免费久久洗澡 | 中文字幕看片在线a免费| 亚洲国产美女精品久久| 亚洲国产精品国产自在在线| free哆啪啪免费永久| 一级成人生活片免费看| 亚洲三级中文字幕| 国产精一品亚洲二区在线播放| 扒开双腿猛进入爽爽免费视频| 今天免费中文字幕视频| 狠狠热精品免费观看| 国产成人精品亚洲2020| 无码专区—VA亚洲V天堂| 亚洲M码 欧洲S码SSS222| 岛国av无码免费无禁网站| 13小箩利洗澡无码视频网站免费| 在线观看亚洲免费| 亚洲av永久无码嘿嘿嘿| 亚洲欧洲日韩国产综合在线二区| 亚洲乱码中文字幕综合234| 毛片免费在线观看网址| 91在线手机精品免费观看|