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

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

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

    簡(jiǎn)單工廠模式

    簡(jiǎn)單工廠模式

    簡(jiǎn)單工廠模式是類的創(chuàng)建模式,又叫靜態(tài)工廠方法模式,它由一個(gè)工廠對(duì)象決定創(chuàng)建出哪一種產(chǎn)品類的實(shí)例。工廠模式專門負(fù)責(zé)將大量有共同接口的類實(shí)例化,可以動(dòng)態(tài)決定將哪一個(gè)類實(shí)例化,不必事先知道每次要實(shí)例化的是哪一個(gè)類

    ?

    簡(jiǎn)單工廠模式的核心是工廠類,它含有必要的判斷邏輯,可以決定在什么時(shí)候創(chuàng)建哪一個(gè)產(chǎn)品類的實(shí)例。簡(jiǎn)單工廠模式一般只有一個(gè)工廠方法,如下圖的 Factory 類的 factory() 方法。

    ?

    例:

    public ? class ?Factory{?

    ??????????????
    public ?Factory(){}?

    ??????????????
    public ? static ?art?factory(String?art){?

    ?????????????????????
    if (art.equals(“圓形”))?

    ????????????????????????????
    return ? new ?Round();?

    ?????????????????????
    else ? if (art.equals(“方形”))?

    ????????????????????????????
    return ? new ?Square();?

    ?????????????????????
    else ? if (art.equals(“三角形”))?

    ????????????????????????????
    return ? new ?Triangle();?
    ?????????????????????else?
    ??????????????????????????throw new? Exception("不能創(chuàng)建這樣的對(duì)象");

    }?

    }?

    ??

    public ? interface ?Art{?

    ???????
    public ? void ?draw();?

    ???????
    public ? void ?erase();?

    }?

    ??

    public ? class ?Round? implements ?Art{?

    ???????
    public ? void ?draw(){?

    ??????????????System.out.println(“畫一個(gè)圓形”);?

    }?

    public ? void ?erase(){?

    ???????System.out.println(“刪除一個(gè)圓形”);?

    }?

    }?

    ??

    public ? class ?Square? implements ?Art{?

    ???????
    public ? void ?draw(){?

    ??????????????System.out.println(“畫一個(gè)方形”);?

    }?

    public ? void ?erase(){?

    ???????System.out.println(“刪除一個(gè)方形”);?

    }?

    }?

    ??

    public ? class ?Triangle? implements ?Art{?

    ???????
    public ? void ?draw(){?

    ??????????????System.out.println(“畫一個(gè)三角形”);?

    }?

    public ? void ?erase(){?

    ???????System.out.println(“刪除一個(gè)三角形”);?

    }?

    }?

    ??

    public ? class ?Main{?

    ???????
    public ? static ? void ?main(String[]?args){?

    ??????????????Art?art?
    = ?Factory.factory(“圓形”);?

    ??????????????art.draw();?

    }?

    }?


    三種角色:
    ?????????工廠類角色:是簡(jiǎn)單工廠方法模式的核心,含有與應(yīng)用緊密聯(lián)系的邏輯。
    ?????????抽象產(chǎn)品
    ?????????具體產(chǎn)品

    posted on 2009-07-02 22:31 luofeng225 閱讀(218) 評(píng)論(0)  編輯  收藏 所屬分類: 設(shè)計(jì)模式

    <2009年7月>
    2829301234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    導(dǎo)航

    統(tǒng)計(jì)

    公告

    我曾經(jīng)聽到這么一個(gè)故事: 一個(gè)年輕的程序員問一個(gè)老程序員(一個(gè)比較牛逼的公司的CTO) 年輕程序員: 你為什么這么牛X., 就好像沒有你不會(huì)的。老程序員: 積累的。年輕程序員: 怎么才能積累到您的程度呢。我每天都在積累。但是似乎都沒有感覺到進(jìn)步。老程序員: 我從20歲開始做到了一件事情,直到今天,而且盡可能地保證不間斷。年輕程序員: 到底是什么? 老程序員: 我每天保證自己有2個(gè)小時(shí)在學(xué)習(xí)新的東西。

    常用鏈接

    留言簿(3)

    隨筆分類

    隨筆檔案

    文章分類

    相冊(cè)

    收藏夾

    Java Website

    java技術(shù)博客

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 日韩毛片免费一二三| 亚洲欧美日韩一区二区三区在线 | 亚洲乱码中文字幕综合234| 亚洲欧美成人综合久久久| 在线观看成人免费视频| 亚洲综合一区国产精品| 亚洲欧洲日产v特级毛片| 18禁成人网站免费观看| 337p日本欧洲亚洲大胆色噜噜 | 国产午夜无码精品免费看| 亚洲精品无码成人AAA片| 国产精品偷伦视频观看免费| 久热综合在线亚洲精品| 亚洲成a∧人片在线观看无码| 成年18网站免费视频网站| 亚洲乱码无人区卡1卡2卡3| 俄罗斯极品美女毛片免费播放| 日韩一区二区三区免费播放| 中国亚洲女人69内射少妇| 美女视频黄的免费视频网页| 亚洲国产精品乱码在线观看97| 免费做爰猛烈吃奶摸视频在线观看| 亚洲综合国产一区二区三区| 免费a级毛片无码a∨免费软件| 亚洲午夜精品一区二区| 欧美在线看片A免费观看| 免费在线观看亚洲| 久久91亚洲人成电影网站| 成人a毛片视频免费看| 亚洲国产精品高清久久久| 无码精品A∨在线观看免费| 亚洲AV女人18毛片水真多| 亚洲欧洲日产国码无码久久99 | 一级特黄录像免费播放中文版| 日本亚洲视频在线| 性做久久久久久久免费看| 男女猛烈激情xx00免费视频| 99亚洲精品高清一二区| 久久久久久久99精品免费观看| 精品亚洲国产成人| 最近2019中文免费字幕|