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

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

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

    編程之道

    無論是批評(píng)的,贊揚(yáng)的,指著的都請(qǐng)EMAIL給我,你的建議將是我前進(jìn)的動(dòng)力! 聯(lián)系我

    靜態(tài)工廠模式

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

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

     

    //工廠類
    public class test{
     
    public static sharp factory(String s) throws badException
     
    {
      
    if(s.equals("circle"))//當(dāng)傳入的參數(shù)==circle時(shí),return實(shí)例化的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");//調(diào)用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 瘋流成性 閱讀(595) 評(píng)論(1)  編輯  收藏 所屬分類: 設(shè)計(jì)模式

    評(píng)論

    # re: 靜態(tài)工廠模式 2012-03-25 00:16 月月鳥0820

    哥們,你這樣做沒有報(bào)錯(cuò)嗎?
    在工廠類中沒有報(bào)錯(cuò)嗎?  回復(fù)  更多評(píng)論   


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 四虎影视成人永久免费观看视频 | 亚洲成a人片在线观看无码| 男女免费观看在线爽爽爽视频| 一级午夜a毛片免费视频| 亚洲AV成人一区二区三区在线看 | caoporn国产精品免费| 亚洲av永久无码| 久久亚洲最大成人网4438| 久久亚洲春色中文字幕久久久| 亚洲午夜精品一级在线播放放 | 精品日韩99亚洲的在线发布| 久久99国产亚洲精品观看| 亚洲人成电影网站国产精品| 午夜爱爱免费视频| 好男人www免费高清视频在线| 免费A级毛片av无码| 免费无码一区二区三区蜜桃 | 亚洲无人区午夜福利码高清完整版| 国产免费资源高清小视频在线观看| 蜜桃视频在线观看免费网址入口| 日韩内射激情视频在线播放免费| 99久久国产精品免费一区二区 | 国产亚洲精品精品国产亚洲综合| 国产做床爱无遮挡免费视频| 成人av免费电影| 在线免费观看毛片网站| 妞干网免费视频观看| 天天看免费高清影视| 思思99re66在线精品免费观看| 97无码免费人妻超级碰碰夜夜| 亚洲人成电影网站免费| 手机在线毛片免费播放| 午夜视频在线观看免费完整版| 久久久久国色AV免费看图片| 黄页网站在线看免费| 久久精品网站免费观看 | 亚洲人成影院午夜网站| 亚洲人成毛片线播放| 亚洲综合成人婷婷五月网址| 亚洲欧美一区二区三区日产| 欧美激情综合亚洲一二区|