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

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

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

    每日一得

    不求多得,只求一得 about java,hibernate,spring,design,database,Ror,ruby,快速開(kāi)發(fā)
    最近關(guān)心的內(nèi)容:SSH,seam,flex,敏捷,TDD
    本站的官方站點(diǎn)是:顛覆軟件

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      220 隨筆 :: 9 文章 :: 421 評(píng)論 :: 0 Trackbacks

    key words :面向接口編程

    面向?qū)ο笤O(shè)計(jì)里有一點(diǎn)大家已基本形成共識(shí),就是面向接口編程,我想大多數(shù)人對(duì)這個(gè)是沒(méi)有什么覺(jué)得需要懷疑的。

    問(wèn)題是在實(shí)際的項(xiàng)目開(kāi)發(fā)中我們是怎么體現(xiàn)的呢? 難道就是每一個(gè)實(shí)現(xiàn)都提供一個(gè)接口就了事了?反過(guò)來(lái)說(shuō),你有時(shí)候有沒(méi)有覺(jué)得接口是多余的事? 又或者,你僅僅是覺(jué)得現(xiàn)在類(lèi)似spring這樣的框架已習(xí)慣用接口這種方式而心存當(dāng)然。

    設(shè)計(jì)模式解析里提到了面向?qū)ο笤O(shè)計(jì)考慮的幾個(gè)視角,一個(gè)是概念層,一個(gè)是規(guī)約層,一個(gè)是實(shí)現(xiàn)層。我如果沒(méi)有猜錯(cuò)的話(huà),實(shí)際上我們大多數(shù)人的眼睛一直是盯著實(shí)現(xiàn)層的,而這正是面向?qū)ο笤O(shè)計(jì)所極力避免的,即你不要在一開(kāi)始就關(guān)注這些細(xì)節(jié),你要關(guān)注的是規(guī)約(接口).

    對(duì)于實(shí)際項(xiàng)目開(kāi)發(fā)來(lái)說(shuō),如果我們把實(shí)現(xiàn)的過(guò)程分為多個(gè)階段的話(huà)我們不妨這么劃分,第一階段,根據(jù)client端的需要去設(shè)計(jì)我們的規(guī)約(interface),在這個(gè)階段任何實(shí)現(xiàn)都沒(méi)有,所有的任務(wù)就是定義接口所需要的職責(zé),以及所需要的一些po,vo;第二階段,實(shí)現(xiàn)前面定義的規(guī)約。而以前我是怎么做的呢? 我是交叉作的,即假模假樣的定義一個(gè)接口(其實(shí)我心里在想這個(gè)東西有屁用),然后定義了一個(gè)方法,然后就立即去實(shí)現(xiàn)這個(gè)方法,再然后我又定義一個(gè)方法,繼續(xù)去實(shí)現(xiàn),我現(xiàn)在終于想通了,這樣好累,效率很低,最重要的是,這不屬于真正的設(shè)計(jì)。
    現(xiàn)在我是怎么做的呢?比如一個(gè)list.jsp里需要查詢(xún),列表,然后看明細(xì)信息,然后增加信息,我會(huì)第一步在接口里定義完(這個(gè)過(guò)程會(huì)有整體設(shè)計(jì)的意識(shí)),毫不關(guān)心底層實(shí)現(xiàn)(數(shù)據(jù)庫(kù)、事務(wù)),我的目標(biāo)就是"我想要這個(gè)功能,我想要那個(gè)功能",至于那個(gè)功能怎么實(shí)現(xiàn)在第一階段我認(rèn)為那不是我的事情(盡管這個(gè)事情最終還是由我來(lái)做) .大家看這個(gè)過(guò)程和前面的過(guò)程有什么本質(zhì)的不同呢? 就是分層的概念更加明顯,你的工作更有層次,每次都有先設(shè)計(jì)再實(shí)現(xiàn)的步驟,而前面那個(gè)過(guò)程很容易就讓你不知不覺(jué)地陷入純實(shí)現(xiàn)的陷阱中。

    一點(diǎn)感想,歡迎大家拍磚。

    posted on 2007-03-12 00:40 Alex 閱讀(12401) 評(píng)論(18)  編輯  收藏 所屬分類(lèi): java建模

    評(píng)論

    # re: 真正理解面向接口編程 2007-03-12 02:56 sinoly
    不管是面向什么編程都好,在不同的環(huán)境下,每一種方式都有自己的特點(diǎn)。
    這種環(huán)境包含項(xiàng)目組的也包含客戶(hù)方的還有公司管理方面的等等。。。
    需要在不斷的比較中確定。。。。
    就像Java/C/Ruby/PHP等等,比較語(yǔ)言的優(yōu)劣都是沒(méi)有意義的。最重要的是實(shí)際情況分析!  回復(fù)  更多評(píng)論
      

    # re: 真正理解面向接口編程 2007-03-12 20:03 azure
    接口,就是對(duì)接的端口,模塊與模塊之間約定建立的交通路線(xiàn)。  回復(fù)  更多評(píng)論
      

    # re: 真正理解面向接口編程 2007-03-20 13:17 lemonxd
    覺(jué)得說(shuō)的很對(duì),我是個(gè)編程初學(xué)者,看了之后有很有體會(huì)。以前設(shè)計(jì)的時(shí)候總是想著實(shí)現(xiàn),結(jié)果忽略了設(shè)計(jì)。所以……
      回復(fù)  更多評(píng)論
      

    # re: 真正理解面向接口編程 2007-03-29 16:37 wahaha
    講的有道理...
    不過(guò)在設(shè)計(jì)的時(shí)候很難不去想到實(shí)現(xiàn)的場(chǎng)景  回復(fù)  更多評(píng)論
      

    # re: 真正理解面向接口編程 2007-04-30 18:02 我們走在JAVA的光明大道上
    LZ說(shuō)的太有 同感了,
    剛開(kāi)始就是為了有個(gè)接口而去搞個(gè)自認(rèn)為多余的接口,然后馬上實(shí)現(xiàn)他,哈!今天突然對(duì)接口有很大感悟,搜索到LZ這文章,真是一大幸事!  回復(fù)  更多評(píng)論
      

    # re: 真正理解面向接口編程 2007-05-24 14:47 hh-lux
    作者的意思是接口是使設(shè)計(jì)者和編程者分離吧。確實(shí)是這樣,只是當(dāng)我們自己開(kāi)發(fā)系統(tǒng)時(shí),自己即是設(shè)計(jì)者,又是編程者,作者的想法是對(duì)的。  回復(fù)  更多評(píng)論
      

    # re: 真正理解面向接口編程 2007-06-12 22:36 lxf
    @hh-lux
    意思是為了讓使用和實(shí)現(xiàn)分離.  回復(fù)  更多評(píng)論
      

    # re: 真正理解面向接口編程 2007-11-20 16:41 yicong
    很正確,尤其認(rèn)同那句“(其實(shí)我心里在想這個(gè)東西有屁用)”,哈哈哈哈。
    我也經(jīng)常這樣搞,然后就屁顛屁顛的去實(shí)現(xiàn)。哈哈哈哈  回復(fù)  更多評(píng)論
      

    # re: 真正理解面向接口編程 2008-05-15 10:42 孤鷹
    接口,就是一種規(guī)則,規(guī)定了我們?cè)谙到y(tǒng)中應(yīng)該實(shí)現(xiàn)的和必須實(shí)現(xiàn)的功能。  回復(fù)  更多評(píng)論
      

    # re: 真正理解面向接口編程 2008-06-14 10:21
    好,這樣做感覺(jué)更能去解決一些問(wèn)題。不再那么盲目了  回復(fù)  更多評(píng)論
      

    # re: 真正理解面向接口編程[未登錄](méi) 2009-02-18 17:15 呵呵
    好,確實(shí)不錯(cuò)。用同感  回復(fù)  更多評(píng)論
      

    # re: 真正理解面向接口編程 2009-07-04 15:39 123
    一直以來(lái)都對(duì)面向接口編程理解的不夠,不知道什么是面向接口編程
    只知道接口是一種規(guī)范,延遲方法的實(shí)現(xiàn)
    要學(xué)習(xí)學(xué)習(xí)....  回復(fù)  更多評(píng)論
      

    # re: 真正理解面向接口編程 2009-07-22 21:24 嘻嘻哈哈
    隨著工業(yè)軟件的規(guī)模的越來(lái)越大, 同一個(gè)項(xiàng)目中參與的程序員越來(lái)越多。于是面臨管理難度,所以應(yīng)當(dāng)先把框架搭好,通過(guò)框架來(lái)規(guī)范項(xiàng)目實(shí)現(xiàn)的目標(biāo),就是面向接口編程的思想。  回復(fù)  更多評(píng)論
      

    # re: 真正理解面向接口編程 2009-08-04 17:06 Supporter
    感覺(jué)很正確,頂!!!  回復(fù)  更多評(píng)論
      

    # re: 真正理解面向接口編程 2010-11-05 14:11 kangdy
    很有同感啊。轉(zhuǎn)了。  回復(fù)  更多評(píng)論
      

    # re: 真正理解面向接口編程 2013-06-25 12:59 再進(jìn)一點(diǎn)
    我發(fā)現(xiàn)總是先去想需要什么功能,這個(gè)功能怎么實(shí)現(xiàn),然后需要怎么樣的接口,不知道這和lz的想法怎么靠近。  回復(fù)  更多評(píng)論
      

    # re: 真正理解面向接口編程 2013-07-26 14:18 OnTheRoad_Lee
    嗯,很認(rèn)同LZ的看法,面向接口編程主要是讓我們的工作更有層次感,先有整體的設(shè)計(jì)(設(shè)計(jì)者),再有具體的實(shí)現(xiàn)(實(shí)現(xiàn)者),
    只是在天朝這樣的國(guó)度,我們挨踢民工是全能的,一條龍服務(wù),既當(dāng)設(shè)計(jì)者,又要當(dāng)實(shí)現(xiàn)者(設(shè)計(jì)完之后,還是得你自己來(lái)實(shí)現(xiàn))。
    目前還沒(méi)有體驗(yàn)到接口設(shè)計(jì)的便利性也好,整體性也好,層次感也好,不過(guò)了解了,  回復(fù)  更多評(píng)論
      

    # re: 真正理解面向接口編程 2013-07-26 14:20 OnTheRoad_Lee
    這位站在更高層次說(shuō)面向接口編程,很贊同,只是目前還沒(méi)有體會(huì)到,小公司@嘻嘻哈哈
      回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 日韩亚洲国产综合高清| 精品福利一区二区三区免费视频| 亚洲中文久久精品无码1| 国产亚洲精aa成人网站| 日韩午夜免费视频| 又黄又爽又成人免费视频| 免费成人在线电影| 一级片在线免费看| 中文字幕无码毛片免费看| 蜜臀亚洲AV无码精品国产午夜.| 免费中文字幕在线| 在线a级毛片免费视频| 24小时日本韩国高清免费| 青青操视频在线免费观看| 一级看片免费视频囗交| 无人视频免费观看免费视频 | 国产成人亚洲精品电影| 亚洲精品美女网站| 亚洲国产精品张柏芝在线观看| 久久久久亚洲AV无码网站| 久久亚洲国产视频| 婷婷亚洲综合五月天小说| 久久91亚洲人成电影网站| 亚洲欧洲精品无码AV| 亚洲伊人久久精品影院| 国产亚洲自拍一区| 亚洲中文字幕久久精品无码喷水| 亚洲成片观看四虎永久| 亚洲国产成人五月综合网 | 亚洲日韩国产一区二区三区在线| 亚洲一区二区三区久久| 亚洲人成毛片线播放| 亚洲AV色吊丝无码| 久久亚洲最大成人网4438| ww亚洲ww在线观看国产| 亚洲中文字幕一区精品自拍| 久久国产亚洲精品麻豆| 亚洲VA中文字幕不卡无码| 亚洲伦理一区二区| 亚洲一级视频在线观看| 亚洲午夜无码久久久久小说|