<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ó)志的朋友都知道一句名言:萬事具備,只欠東風(fēng).
    最近在學(xué)習(xí)SPRING框架的時(shí)候?qū)Υ擞钟辛松顚拥睦斫?
    最近開發(fā)一個(gè)幾百人的大項(xiàng)目,由于某些因素,不能使用開源框架.我們開發(fā)人員商議,準(zhǔn)備順應(yīng)潮流,使用SPRING框架的某些設(shè)計(jì)思想來完成工作.
    由于大家都沒有幾百人一起工作的項(xiàng)目經(jīng)驗(yàn),所以開始階段是痛苦而沒有成效的.特別在商議相互調(diào)用的接口時(shí),簡(jiǎn)直成了討價(jià)還價(jià)的菜市場(chǎng)(每個(gè)人的想法,水平,及設(shè)計(jì)能力的差異).~_~!!!
    百無聊賴中,跑去開三國(guó)(你們吵你們的吧,我休息先),看到諸葛亮借東風(fēng)一節(jié),突然靈機(jī)一動(dòng),這不就是SPRING框架的IOC思想么??我先萬事具備再說,只欠東風(fēng)就OK!想到這里,心中竊喜,于是將需要的接口數(shù)據(jù)整理出來寫了個(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ù)啊~~我叼!")
    ??????}
    ???}
    }
    ////////////////////////////////////////////////////////////////////////////////分割線////////////////////////////////////////////////////////////////////////////////////////
    /*萬事具備了,借東風(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();
    ???}
    }
    ////////////////////////////////////////////////////////////////////////////////分割線////////////////////////////////////////////////////////////////////////////////////////
    回想來發(fā)現(xiàn)IOC就是我們的諸葛老前輩發(fā)明的,居然.....,我強(qiáng)烈呼吁收版權(quán)稅.
    中華民族萬歲~~~!

    posted on 2006-07-31 11:22 KanIT 閱讀(970) 評(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ù)啊~~我叼!")
    }
    }
    }
    ////////////////////////////////////////////////////////////////////////////////分割線////////////////////////////////////////////////////////////////////////////////////////
    /*萬事具備了,借東風(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)者來決定接口上的參數(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ān)于談戀愛的設(shè)計(jì)模式,也挺有趣的  回復(fù)  更多評(píng)論   


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产免费久久精品99re丫y| 亚洲神级电影国语版| jizzjizz亚洲日本少妇| 亚洲色偷偷狠狠综合网| 色屁屁在线观看视频免费| 免费又黄又爽的视频| 免费福利资源站在线视频| 日韩电影免费在线观看视频| 亚洲中文字幕一区精品自拍| 黄瓜视频影院在线观看免费| 亚洲va精品中文字幕| 午夜两性色视频免费网站| 国产区图片区小说区亚洲区| 免费国产成人午夜电影| 国产精品免费久久久久电影网| 狠狠亚洲狠狠欧洲2019| 国产在线观看免费视频软件 | 免费在线黄色电影| 亚洲综合一区二区精品导航 | 亚洲第一街区偷拍街拍| 国产三级免费电影| 国产精品福利在线观看免费不卡| 亚洲成A人片在线观看无码不卡| 免费人妻无码不卡中文字幕系| 亚洲av成人一区二区三区| 在线观看永久免费视频网站| 成av免费大片黄在线观看| 亚洲经典在线观看| 国产精品四虎在线观看免费| AAA日本高清在线播放免费观看| 亚洲中字慕日产2020| mm1313亚洲国产精品美女| 男女午夜24式免费视频| 亚洲国产综合精品中文第一| 亚洲精品人成无码中文毛片| 131美女爱做免费毛片| 国产精品亚洲精品久久精品| 久久精品国产亚洲AV网站| 性色av免费观看| 成人精品一区二区三区不卡免费看| WWW免费视频在线观看播放|