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

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

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

    大漠駝鈴

    置身浩瀚的沙漠,方向最為重要,希望此blog能向大漠駝鈴一樣,給我方向和指引。
    Java,Php,Shell,Python,服務器運維,大數(shù)據(jù),SEO, 網(wǎng)站開發(fā)、運維,云服務技術(shù)支持,IM服務供應商, FreeSwitch搭建,技術(shù)支持等. 技術(shù)討論QQ群:428622099
    隨筆 - 238, 文章 - 3, 評論 - 117, 引用 - 0
    數(shù)據(jù)加載中……

    JAVA設計模式之-簡單工廠模式(Simplae Factory)

    Factory method(工廠方法)是實例化對象的一種方法的名稱。就象工廠一樣,F(xiàn)actory method的任務是創(chuàng)建--或制造--對象。
    下面對工廠模式進行簡單的講解:
    從音樂盒開始講起,音樂盒工廠(MusicBoxFactory)生產(chǎn)音樂盒(PianoBox和ViolinBox),當然還可以是其它的音樂盒,這些具體的音樂盒展現(xiàn)給客戶(MusicBoxDemo)只是一個界面(IMusicBox),客戶不需要知道音樂盒的具體實現(xiàn)功能,只要能play()就OK。
    如下圖所示:客戶(MusicBoxDemo)依賴音樂盒的界面,而不必知道音樂盒是如何通過音樂盒工廠(MusicBoxFactory)生產(chǎn)的。
    從下面的圖我們進入簡單的代碼演示階段:

    IMusicBox.java
    public interface IMusicBox{
    public void play();

    }
    PianoBox.java
    public class PinoBox implements IMusicBox{
    public void play(){

    System.out.println(
    "播放鋼琴音樂");
    }
    }

    ViolinBox.java
    public class ViolinBox implements IMusicBox{
    public void play(){

    System.out.println(
    "播放小提琴音樂");
    }
    }
    MusicBoxFactory.java
    public class MusicBoxFactory{
    /***
    使用java反射機制生成實例
    客戶端只需調(diào)用即可
    方便維護和以后程序的升級擴展
    */
    public static IMusicBox createMusicBox(String name)throws InstantiationException,IllegalAccessException,ClassNotFoundException{

    IMusicBox musicbox
    =(IMusicBox)Class.forName(name).newInstance();

    //在這里還可以進行一些box的內(nèi)部成員變量處理


    return musicbox;

    }


    }
    MusicBoxDemo.java
    public class MusicBoxDemo{
    public static void main(String[] args)throws  Exception{
    PlayMusicBox(MusicBoxFactory.createMusicBox(
    "PianoBox")
    );
    PlayMusicBox(MusicBoxFactory.createMusicBox(
    "VolinBox")
    );


    }

    public static void PlayMusicBox(IMusicBox imusicbox){

    imusicbox.play();

    }



    }

    這樣客戶只需要知道音樂的界面即可,不需要知道如何生產(chǎn)的音樂盒。即使以后修改了Factory的生產(chǎn)模式,用戶這里也是毫不影響。


    posted on 2008-12-14 22:57 草原上的駱駝 閱讀(411) 評論(0)  編輯  收藏 所屬分類: 設計模式-DP


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


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 国产无遮挡裸体免费视频在线观看 | 久久久久久久久免费看无码| 亚洲女久久久噜噜噜熟女| 男女猛烈无遮掩视频免费软件| 免费黄色小视频网站| 亚洲日本一线产区和二线 | 久久精品国产亚洲AV麻豆网站| 嫩草在线视频www免费看| 国产aⅴ无码专区亚洲av麻豆| 一级免费黄色大片| 精品国产亚洲一区二区在线观看 | 亚洲人成电影在线观看青青| 青娱分类视频精品免费2| 亚洲av无码电影网| 女人张开腿给人桶免费视频| 亚洲精品无码你懂的| www亚洲一级视频com| eeuss影院www天堂免费| 亚洲精品乱码久久久久久自慰 | 亚洲日日做天天做日日谢| 女人毛片a级大学毛片免费| 国产精品亚洲а∨天堂2021| 亚洲男人在线无码视频| 国产无遮挡无码视频免费软件 | 久久久久亚洲av无码专区喷水| 91人成网站色www免费下载| 亚洲视频一区二区三区四区| 日本特黄特黄刺激大片免费| g0g0人体全免费高清大胆视频| 日韩亚洲欧洲在线com91tv| 最近免费中文在线视频| 亚洲欧美日本韩国| 在线a亚洲v天堂网2018| 久久久久免费精品国产| 亚洲男人的天堂久久精品| 亚洲国产精品尤物YW在线观看| 九九美女网站免费| 亚洲国产成人AV在线播放| 亚洲午夜福利AV一区二区无码| 亚色九九九全国免费视频| 色欲色欲天天天www亚洲伊|