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

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

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

    編程之道

    無論是批評的,贊揚的,指著的都請EMAIL給我,你的建議將是我前進的動力! 聯系我

    靜態工廠模式

    又稱簡單工廠模式。
    它是由一個工廠類所根據傳入的參量決定創建出哪一種產品類的實例。
    它涉及到3個角色
    1。工廠類角色(Creator):這個角色時工廠模式的核心,工廠類再客戶端的直接調用下創建產品對象,它往往由一個具體JAVA類實現。
    2。抽象產品角色(Product):擔任這個角色的類是由工廠方法模式所創建的對象的父類或者接口。抽象產品角色可以用接口或者抽象類實現。
    3。具體產品角色(Concrete Product):工廠方法模式所創建的任何對象都是這個角色的實例,具體產品角色由一個具體JAVA類來實現。

        簡單工廠模式的缺點是進行功能擴展比較困難。按下面例子來說,如果增加一個形狀,那么就要修改工廠方法
    的源代碼,違背了“開閉”原則。
        開閉原則:就是在不修改代碼的情況下擴展其功能。
    -----------------------------------------------
    寫了個靜態工廠模式的例子

     

    //工廠類
    public class test{
     
    public static sharp factory(String s) throws badException
     
    {
      
    if(s.equals("circle"))//當傳入的參數==circle時,return實例化的circle
       return new circle();
      }

      
    else if(s.equals("retangle"))
      
    {
       
    return new retangle();
      }

      
    else{
       
    throw new badException("error");//拋出異常,必須捕獲異常
      }

     }

     
    public static void main(String[] args){
      
    try{
       test.factory(
    "circle");//調用static method
      }

      
    catch(badException e){
       System.
    out.println (e);
      }

      
     }

    }



    class circle implements sharp{
     
    public circle(){
      
    this.draw();
     }

     
    public void draw(){
      System.
    out.println ("draw1");
     }

     
    public void del(){
      System.
    out.println ("del1");
     }

    }


    class retangle implements sharp{
     
    public void draw(){
      System.
    out.println ("draw2");
     }

     
    public void del(){
      System.
    out.println ("del2");
     }

    }



    class badException extends Exception{
     
    public badException(String s){
      super(s);
     }

    }

    //定義接口
    interface sharp{
     
    public void draw();
     
    public void del();
     
    }




     

    posted on 2005-08-08 14:44 瘋流成性 閱讀(602) 評論(1)  編輯  收藏 所屬分類: 設計模式

    評論

    # re: 靜態工廠模式 2012-03-25 00:16 月月鳥0820

    哥們,你這樣做沒有報錯嗎?
    在工廠類中沒有報錯嗎?  回復  更多評論   


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


    網站導航:
     
    主站蜘蛛池模板: 一级毛片在播放免费| 亚洲第一街区偷拍街拍| 亚洲精品国产首次亮相| 免费国产污网站在线观看不要卡 | 亚欧乱色国产精品免费视频| 国产真人无码作爱视频免费| 在线a级毛片免费视频| 免费一看一级毛片| 亚洲国产成人精品不卡青青草原| 亚洲精品中文字幕无码AV| 国产亚洲精品美女| 性xxxx视频免费播放直播 | 我要看WWW免费看插插视频| 国产亚洲自拍一区| 99亚偷拍自图区亚洲| 国产在线观看免费av站| 久久久久免费看黄A片APP | 亚洲综合av永久无码精品一区二区 | 十八禁视频在线观看免费无码无遮挡骂过| 最近新韩国日本免费观看 | 亚洲成av人在线观看网站 | 亚洲精品午夜国产VA久久成人| 日本免费人成黄页网观看视频| 亚洲国产精品无码一线岛国| 国产亚洲午夜精品| 毛片免费全部播放一级| 亚洲AV无码一区二区乱孑伦AS| 无码AV动漫精品一区二区免费| 亚洲视频免费播放| 亚洲国产天堂在线观看| 亚洲一区二区三区免费| 又色又污又黄无遮挡的免费视| 国产亚洲精品影视在线| 很黄很黄的网站免费的| 久久精品国产亚洲夜色AV网站| 一区二区三区免费在线观看| 国产99视频精品免费视频7| 亚洲精华国产精华精华液好用| 福利免费观看午夜体检区| 亚洲欧洲日产国产最新| 3d成人免费动漫在线观看|