<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)站導航:
     
    主站蜘蛛池模板: 69视频免费观看l| 精品无码免费专区毛片| 国产高清在线免费| 亚洲大尺码专区影院| 37pao成人国产永久免费视频| 久久精品国产99精品国产亚洲性色| 日本免费A级毛一片| 亚洲AV无码久久精品色欲| 午夜视频免费在线观看| 久久精品亚洲精品国产色婷| 99久久免费看国产精品| 亚洲精品视频在线观看免费| 4444www免费看| 亚洲已满18点击进入在线观看| 毛片a级毛片免费播放下载| 亚洲精品理论电影在线观看| 国产乱子影视频上线免费观看| 免费看一级一级人妻片| 亚洲自偷自偷图片| 日本高清免费观看| 亚洲va在线va天堂va手机| 在线a人片天堂免费观看高清| 精品免费AV一区二区三区| 中文字幕亚洲电影| 99精品视频免费观看| 亚洲日韩精品无码专区| 国产三级电影免费观看| a级精品九九九大片免费看| 亚洲性69影院在线观看| 国产精品久免费的黄网站| eeuss影院www天堂免费| 久久久久久亚洲AV无码专区| 国产精品无码免费播放| 一个人免费观看日本www视频| 亚洲欧洲日产国码久在线观看| 在线天堂免费观看.WWW| 曰批全过程免费视频观看免费软件 | 黑人粗长大战亚洲女2021国产精品成人免费视频 | 在线v片免费观看视频| 男女污污污超污视频免费在线看| 亚洲av无码一区二区三区网站|