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

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

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

    存在就是合理的

    會(huì)思考的僵尸

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

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

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

    Feedback

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

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

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

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

    class Test implement OPERATION
    {
    //定義操作對(duì)象
    //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ù)啊~~我叼!")
    }
    }
    }
    ////////////////////////////////////////////////////////////////////////////////分割線////////////////////////////////////////////////////////////////////////////////////////
    /*萬(wàn)事具備了,借東風(fēng)吧!*/
    public class Main
    {
    public static void main(String[]args)
    {
    //做個(gè)東風(fēng)先
    //IOCObject obj = new IOCObject ();
    IOCINTERFACE obj = new IOCObject(); //---------------依賴接口而不是類

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

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

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

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

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

    呵呵,好!

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


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲高清在线视频| 亚洲视频在线观看免费视频| 国产精品亚洲自在线播放页码| a级毛片100部免费观看| 国产成人亚洲精品狼色在线| 黄色大片免费网站| 一本色道久久88综合亚洲精品高清| 国产精品美女午夜爽爽爽免费| www国产亚洲精品久久久| 蜜臀亚洲AV无码精品国产午夜.| 成人免费看片又大又黄| 亚洲AV无码精品色午夜在线观看| XXX2高清在线观看免费视频| 亚洲日韩精品射精日| 亚洲AV综合永久无码精品天堂 | 免费人成网站在线观看不卡 | 亚洲中文字幕无码永久在线 | 亚洲视频免费播放| 亚洲成人高清在线观看| 男人的好看免费观看在线视频| 亚洲av永久无码一区二区三区 | 久久国产精品免费| 亚洲成AV人片在| www视频在线观看免费| 亚洲日本成本人观看| 亚洲国产精品碰碰| 亚洲91精品麻豆国产系列在线| 妞干网在线免费视频| 美国免费高清一级毛片| 伊人久久亚洲综合| 四虎成年永久免费网站| 久久综合亚洲色hezyo| 亚洲日韩中文无码久久| 亚洲一级毛片免费在线观看| 亚洲成a人片在线不卡一二三区 | 最新黄色免费网站| 亚洲乱亚洲乱妇24p| 77777亚洲午夜久久多人| 在线视频精品免费| 一级日本高清视频免费观看 | 99亚洲精品卡2卡三卡4卡2卡|