隨筆 - 53, 文章 - 0, 評論 - 3, 引用 - 0
          數據加載中……

          programming to interface 之我見

          Programming to Interface 是OOD的基本原則之一。
          但是不等于說只要應用了Interface就符合Programming to Interface的原則。
          我對以下使用Interface的情形有不同看法。
          為DDO建立一個接口(Interface)。然后當DDO跨層使用時,我們用該接口作為參數類型。
          我認為這是沒有意義的,根本實現不了Programming to Interface 的初衷。
          1. Programming to Interface 的好處之一是可以為不同的實現提供統一的接口。但是這個案例中,只有一個DDO,對應這一個Interface。
          2. Programming to Interface 的好處之二是當實現改變時,interface可以保持不變。這樣Programming to Interface 部分的代碼就可以不用隨實現的改變而改變。但是這個案例中,一旦DDO發生了改變,Interface也需要發生改變。
          總之,這這種情形下,增加一個接口純屬多余,沒有增加任何價值,反而增加了維護接口的麻煩。
          這也說明正確應用Programming to Interface 是多么重要。否則再漂亮的法則一旦濫用,誤用,不僅沒有任何好處,而且可能造成額外的負擔。
          造成這種誤用的關鍵原因是,DDO并非一種理想的Object,getter和setter沒有足夠的抽象程度,不能提煉成接口。勉強用上接口也是徒勞的。

          posted on 2005-09-20 21:28 InPractice 閱讀(262) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 垦利县| 丽水市| 新田县| 和田县| 卫辉市| 钟祥市| 赤壁市| 中宁县| 拜泉县| 陆河县| 广河县| 宁夏| 罗江县| 清镇市| 西贡区| 佛教| 太白县| 耿马| 马尔康县| 林州市| 牡丹江市| 锡林郭勒盟| 嵊泗县| 泽州县| 马关县| 定南县| 灵台县| 普宁市| 兴隆县| 阳春市| 扶余县| 西乡县| 忻州市| 西昌市| 会宁县| 林甸县| 齐齐哈尔市| 湘乡市| 祁东县| 凌云县| 子长县|