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

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

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

    存在就是合理的

    會思考的僵尸

    諸葛亮與IOC的關(guān)系

    看過三國志的朋友都知道一句名言:萬事具備,只欠東風(fēng).
    最近在學(xué)習(xí)SPRING框架的時候?qū)Υ擞钟辛松顚拥睦斫?
    最近開發(fā)一個幾百人的大項目,由于某些因素,不能使用開源框架.我們開發(fā)人員商議,準(zhǔn)備順應(yīng)潮流,使用SPRING框架的某些設(shè)計思想來完成工作.
    由于大家都沒有幾百人一起工作的項目經(jīng)驗,所以開始階段是痛苦而沒有成效的.特別在商議相互調(diào)用的接口時,簡直成了討價還價的菜市場(每個人的想法,水平,及設(shè)計能力的差異).~_~!!!
    百無聊賴中,跑去開三國(你們吵你們的吧,我休息先),看到諸葛亮借東風(fēng)一節(jié),突然靈機(jī)一動,這不就是SPRING框架的IOC思想么??我先萬事具備再說,只欠東風(fēng)就OK!想到這里,心中竊喜,于是將需要的接口數(shù)據(jù)整理出來寫了個XML文檔,并用DTD定義,直接扔給調(diào)用我的家伙,想用我的接口么??我就要這些數(shù)據(jù),你看著辦吧~~!
    于是不管他渴求的表情,自己工作去也.那個心里爽啊~
    下面是一些模擬代碼,希望能有用:
    /*定義依賴注入的數(shù)據(jù)接口*/
    public interface IOCINTERFACE
    {
    ???//只定義一個驗證方法,驗證DTD定義的數(shù)據(jù)
    ???public boolean validate();
    }
    ////////////////////////////////////////////////////////////////////////////////分割線////////////////////////////////////////////////////////////////////////////////////////
    /**/
    class IOCObject implement IOCINTERFACE
    {
    ???//需要注入的數(shù)據(jù)
    ???private String username;
    ???public void setUsername(String username)
    ???{
    ??????this.username = username;
    ???}
    ???public String getUsername()
    ???{
    ??????return this.username?;
    ???}
    ???//驗證一下是否是我要的數(shù)據(jù)
    ???public boolean validate()
    ???{
    ??????if(this.username = null)
    ??????{
    ?????????return false;
    ??????}
    ??????return true;
    ???}
    }
    ////////////////////////////////////////////////////////////////////////////////分割線////////////////////////////////////////////////////////////////////////////////////////
    /*再定義一個執(zhí)行接口*/
    public interface OPERATION
    {
    ???public void execute();
    }
    ////////////////////////////////////////////////////////////////////////////////分割線////////////////////////////////////////////////////////////////////////////////////////
    class Test implement OPERATION
    {
    ???//定義操作對象
    ???private IOCObject obj;
    ???public void Test( IOCObject obj)
    ???{
    ??????this.obj = obj;
    ???}
    ???public void execute()
    ???{
    ??????if(this.obj.validate)
    ??????{
    ?????????//處理業(yè)務(wù)邏輯
    ?????????System.out.println(this.obj.getUsername+"hello!");
    ??????}
    ??????else
    ??????{
    ?????????//異常日志
    ????????????System.out.println("MB~~~給的什么數(shù)據(jù)啊~~我叼!")
    ??????}
    ???}
    }
    ////////////////////////////////////////////////////////////////////////////////分割線////////////////////////////////////////////////////////////////////////////////////////
    /*萬事具備了,借東風(fēng)吧!*/
    public class Main
    {
    ???public static void main(String[]args)
    ???{
    ??????//做個東風(fēng)先
    ??????IOCObject?obj = new IOCObject?();
    ??????obj?.setUsername("KenIT");
    ??????//依賴注入了,高興啊!
    ??????Test?test = new Test(ob);
    ??????//完成工作,打完收功
    ??????test.execute();
    ???}
    }
    ////////////////////////////////////////////////////////////////////////////////分割線////////////////////////////////////////////////////////////////////////////////////////
    回想來發(fā)現(xiàn)IOC就是我們的諸葛老前輩發(fā)明的,居然.....,我強(qiáng)烈呼吁收版權(quán)稅.
    中華民族萬歲~~~!

    posted on 2006-07-31 11:22 KanIT 閱讀(970) 評論(4)  編輯  收藏

    Feedback

    # re: 諸葛亮與IOC的關(guān)系 2006-07-31 11:31 f

    兄弟挺搞笑的,不錯,呵呵!  回復(fù)  更多評論   

    # re: 諸葛亮與IOC的關(guān)系 2006-07-31 14:04 GHawk

    這樣設(shè)計是不是更合適??

    class Test implement OPERATION
    {
    //定義操作對象
    //private IOCObject obj;
    private IOCINTERFACE obj; //---------------依賴接口而不是類
    //public void Test( IOCObject obj)
    public Test(IOCINTERFACE obj) //---------------依賴接口而不是類
    {
    this.obj = obj;
    }
    public void execute()
    {
    if(this.obj.validate)
    {
    //處理業(yè)務(wù)邏輯
    System.out.println(this.obj.getUsername+"hello!");
    }
    else
    {
    //異常日志
    System.out.println("MB~~~給的什么數(shù)據(jù)啊~~我叼!")
    }
    }
    }
    ////////////////////////////////////////////////////////////////////////////////分割線////////////////////////////////////////////////////////////////////////////////////////
    /*萬事具備了,借東風(fēng)吧!*/
    public class Main
    {
    public static void main(String[]args)
    {
    //做個東風(fēng)先
    //IOCObject obj = new IOCObject ();
    IOCINTERFACE obj = new IOCObject(); //---------------依賴接口而不是類

    obj .setUsername("KenIT");
    //依賴注入了,高興啊!
    Test test = new Test(ob);
    //完成工作,打完收功
    test.execute();
    }
    }

    另外,由接口的實現(xiàn)者來決定接口上的參數(shù),再扔給接口的消費(fèi)者,未免霸道了些吧,不是很符合DIP。
      回復(fù)  更多評論   

    # re: 諸葛亮與IOC的關(guān)系 2006-07-31 15:22 KenIT

    謝謝!受教了~_~  回復(fù)  更多評論   

    # re: 諸葛亮與IOC的關(guān)系 2006-07-31 19:41 jspark

    呵呵,好!

    有意思,以前看過一篇是關(guān)于談戀愛的設(shè)計模式,也挺有趣的  回復(fù)  更多評論   


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 久久精品国产亚洲AV未满十八| 久久国产精品亚洲综合 | 蜜桃成人无码区免费视频网站 | 成人片黄网站色大片免费观看cn| 国产禁女女网站免费看| 色综合久久精品亚洲国产| 最近最新的免费中文字幕| 亚洲中文无码亚洲人成影院| 成人性生活免费视频| 亚洲日韩AV一区二区三区中文| 日韩免费在线观看| 国产精品亚洲精品爽爽| 亚洲精品97久久中文字幕无码| 污污污视频在线免费观看| 亚洲综合熟女久久久30p| 免费成人在线电影| 亚洲精品视频在线观看视频| 国产大片免费网站不卡美女| 亚洲一区二区三区成人网站| 国产在线不卡免费播放| 免费毛片在线看不用播放器| 久久久久亚洲AV片无码下载蜜桃| 美女视频黄免费亚洲| 久久久久久亚洲av无码蜜芽| 久久久久亚洲av毛片大| 未满十八18禁止免费无码网站| 亚洲成AV人片久久| 国产成人免费福利网站| 成人黄网站片免费视频| 亚洲六月丁香婷婷综合| 免费人成网站在线高清| 暖暖免费日本在线中文| 亚洲欧美日韩久久精品| 亚洲香蕉网久久综合影视| 在线免费观看国产| 精品亚洲av无码一区二区柚蜜| 亚洲精品无码不卡在线播放HE| 免费能直接在线观看黄的视频| 国产成人综合久久精品亚洲| 亚洲AV无码乱码在线观看富二代| 美女视频黄免费亚洲|