隨筆 - 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)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 类乌齐县| 昭通市| 日照市| 南召县| 双鸭山市| 曲靖市| 高淳县| 福清市| 江永县| 年辖:市辖区| 建湖县| 桐城市| 义乌市| 长寿区| 文昌市| 寻甸| 元谋县| 屏南县| 洞头县| 临西县| 水富县| 新田县| 松桃| 海丰县| 奉新县| 岐山县| 乐陵市| 延长县| 玉田县| 湖北省| 巴塘县| 车险| 芜湖市| 菏泽市| 新田县| 邵阳县| 明星| 文水县| 东丽区| 侯马市| 高邑县|