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

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

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

    莊周夢蝶

    生活、程序、未來
       :: 首頁 ::  ::  :: 聚合  :: 管理

    java package的設計原則

    Posted on 2008-09-06 00:15 dennis 閱讀(2998) 評論(3)  編輯  收藏 所屬分類: java
        典型的J2EE項目,package的設計有成熟的套路可循,如分為domain、dao、service、action等等,職責已經分解的比較單一和清晰,循環(huán)依賴這樣的情況出現(xiàn)并不多。而在一般的java項目,如服務器程序、客戶端程序和通用性框架的開發(fā)中,包的設計并沒有套路可循,畢竟由于應用和業(yè)務種類的不同,想得出通用性的設計套路是不大可能的。這時候遵循一些原則比之生搬硬套更為重要。在《敏捷軟件開發(fā)》一書中對包的設計有深入的討論,雖然針對的是發(fā)布的二進制包而言,但是對于java package的設計同樣有借鑒意義,如對包的內聚性、可重用性、穩(wěn)定性的強調,對于依賴的探討,這些都是比較籠統(tǒng)的概念,不是那么直觀,需要在實際運用中認真歸納和重構,向這些原則靠攏。
       我所想到一個比較直觀的方法就是:對于一個包的描述,你是否能用一句簡明扼要的話概括,也就是包的功能或者說介紹能否做到簡明扼要,這是衡量一個包的設計是否合理的最簡單的方法。如果可以,顯然這個包的內聚性很好,所有的類都服務于一個目的,從而帶來了重用的可能(其實我對重用性并不感冒,除了工具類外真正能重用的東西少之又少,內聚性才是需要關注的);反之,這個包可能承擔了太多的職責或者依賴過多,仔細的重構和分離是需要做的。包的設計同樣要遵循接口分離的原則,將接口與實現(xiàn)隔離在不同的包之中,客戶程序就不會知道具體的實現(xiàn),并且也保證了實現(xiàn)對接口的單向依賴。當然,這時就需要引入工廠類、插件或者IOC容器來負責實例化實現(xiàn)類。

    評論

    # re: java package的設計原則  回復  更多評論   

    2008-09-06 10:06 by Jack.Wang
    接口與實現(xiàn)隔離在不同的包之中是個比較好的實踐,贊同。
    關注點分離永遠是軟件開發(fā)架構的重點,LZ說重用甚少,開發(fā)軟件如果架構允許的話我們都會 import 第三方組件,such as apache commons and so on. commons 重用的原因是因為和業(yè)務無關,沒有依賴性,當然和業(yè)務有關的也可以重用,這也就是 SOA 的理念之一了。

    # re: java package的設計原則  回復  更多評論   

    2008-09-07 22:19 by dennis
    @Jack.Wang
    重用的粒度問題,而我說談的重用局限在代碼級別的重用。

    # re: java package的設計原則  回復  更多評論   

    2008-09-08 10:11 by zhuxing
    贊同樓主觀點,包的設計應該是在通用的設計原則的指導下完成

    應該以很多個維度來綜合地看待這個問題,盡量考慮到各個規(guī)則(例如盡量分離抽象和實現(xiàn),更好的遵循開閉原則....),不要和經典的規(guī)則發(fā)生沖突~_~

    有的人可能更喜歡從技術視角進行劃分,例如可能會出現(xiàn)**.factory類型的包,里面放置了供用戶調用的工程類;有的人則可能更喜歡從業(yè)務角度進行劃分等。

    大的原則是存在的,具體細節(jié)因人而異 ^_^。
    主站蜘蛛池模板: a级毛片免费高清视频| 久久水蜜桃亚洲AV无码精品| 日韩a级无码免费视频| 亚洲综合图色40p| 免费人成黄页在线观看日本| 亚洲AV无码1区2区久久| 美丽的姑娘免费观看在线播放| 亚洲黄色免费在线观看| 国产成人精品免费午夜app| ass亚洲**毛茸茸pics| 女性无套免费网站在线看| 美女被吸屁股免费网站| 一本色道久久综合亚洲精品高清| 国产伦精品一区二区免费| 亚洲精品福利视频| 和日本免费不卡在线v| 亚洲AV无码成人精品区狼人影院| 国产一级淫片视频免费看| 成人免费视频一区二区| 亚洲va中文字幕无码久久| 免免费国产AAAAA片| 特级av毛片免费观看| 亚洲爆乳无码专区| 黄瓜视频影院在线观看免费| 噜噜噜亚洲色成人网站| 国产亚洲精品精华液| 99久久99这里只有免费费精品| 久久精品国产亚洲AV电影网| 亚洲国产精品成人精品无码区| 亚洲高清免费在线观看| 羞羞漫画登录页面免费| 亚洲av无码一区二区三区乱子伦| 1024免费福利永久观看网站| 又长又大又粗又硬3p免费视频 | 男女一进一出抽搐免费视频| 亚洲国产精品一区| 国产伦一区二区三区免费 | 国产91久久久久久久免费| 国产午夜精品免费一区二区三区| 亚洲性线免费观看视频成熟| 国产V亚洲V天堂A无码|