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

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

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

    (轉貼) 真正理解面向接口編程

    面向對象設計里有一點大家已基本形成共識,就是面向接口編程,我想大多數人對這個是沒有什么覺得需要懷疑的。

    問題是在實際的項目開發中我們是怎么體現的呢? 難道就是每一個實現都提供一個接口就了事了?反過來說,你有時候有沒有覺得接口是多余的事? 又或者,你僅僅是覺得現在類似spring這樣的框架已習慣用接口這種方式而心存當然。

    設計模式解析里提到了面向對象設計考慮的幾個視角,一個是概念層,一個是規約層,一個是實現層。我如果沒有猜錯的話,實際上我們大多數人的眼睛一直是盯著實現層的,而這正是面向對象設計所極力避免的,即你不要在一開始就關注這些細節,你要關注的是規約(接口).

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

    一點感想,歡迎大家拍磚。

    原帖地址: http://www.tkk7.com/alex/archive/2007/03/12/103185.html

    posted on 2010-11-05 14:09 AK47 閱讀(317) 評論(0)  編輯  收藏 所屬分類: 設計模式

    <2010年11月>
    31123456
    78910111213
    14151617181920
    21222324252627
    2829301234
    567891011

    導航

    統計

    常用鏈接

    留言簿

    隨筆分類

    隨筆檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲色成人网站WWW永久四虎| 成人午夜免费福利视频| 亚洲一卡2卡3卡4卡5卡6卡| 亚洲欧洲成人精品香蕉网| 日韩视频免费在线| **实干一级毛片aa免费| jzzjzz免费观看大片免费| 亚洲欧美成人一区二区三区| 78成人精品电影在线播放日韩精品电影一区亚洲 | 免费观看亚洲人成网站| 亚洲国产中文在线视频| 久久亚洲精品成人777大小说| 亚洲国产成人乱码精品女人久久久不卡 | 成人福利在线观看免费视频| 2020久久精品亚洲热综合一本| 亚洲AV日韩AV天堂一区二区三区| 亚洲一级片内射网站在线观看| 日本二区免费一片黄2019| 最近最好的中文字幕2019免费| 91高清免费国产自产| 久久99国产综合精品免费| 鲁丝片一区二区三区免费| 国产性生大片免费观看性| 精品97国产免费人成视频| 色爽黄1000部免费软件下载| 精品国产日韩亚洲一区在线| 国产亚洲欧美日韩亚洲中文色| 亚洲高清乱码午夜电影网| 亚洲色大成网站www永久男同| 亚洲精品第一综合99久久| 亚洲成人网在线播放| 亚洲综合激情九月婷婷| 久久亚洲精品无码aⅴ大香 | 精品国产污污免费网站aⅴ| 9420免费高清在线视频| 91免费国产自产地址入| 99视频全部免费精品全部四虎| 国产1000部成人免费视频| 色窝窝免费一区二区三区| 成人毛片免费观看视频在线| 女人18毛片水最多免费观看|