隨筆 - 2  文章 - 2  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          留言簿

          隨筆檔案(1)

          文章分類(16)

          最新隨筆

          搜索

          •  

          最新評論

          低耦合、高內聚

          OOP設計原則主要提供了一個方向,使得我們的程序設計得更加合理,從而獲得更好的可擴展性、可維護性。主要包括以下幾個原則:

          1、OCP(Open-Closed Principle) 開放封閉原則。
          對擴展開放,對修改關閉。即在不修改原有程序源碼的情況下對其進行擴展。實現開閉原則的關鍵就在于“抽象”。 “作為系統設計的抽象層,要預見所有可能的擴展,從而使得在任何擴展情況下,系統的抽象底層不需修改;同時,由于可以從抽象底層導出一個或多個新的具體實 現,可以改變系統的行為,因此系統設計對擴展是開放的。 ” 這個原則是OOP的基石,其他原則主要來實現本原則。

          2、SRP (Simple Responsibility Pinciple)單一職責原則。
          一個類一般應該設計成只有一個職責,如果設計成具備很多職責,那么任何一個職責的改變都會引起這個類的修改,相關引用該類的代碼也可能受到影響。不同的職責或功能應該由不同的類來實現,這樣可以很好的控制變化帶來的影響粒度。

          3、DIP (Dependence Inversion Principle)依賴倒轉原則。
          抽象不應該依賴于實現細節,實現細節應該依賴于抽象;高層不應該依賴于底層,都應該依賴于抽象。針對接口編程: 應該用接口或者抽象類聲明變量、方法參數、方法返回類型等。

          4、LSP (Liskov Substitution Principle)里氏代換原則。
          子類型完全可以替換父類型,而不需要任何修改,并且獲得期望的結果。

          5、ISP (Interface Segregation Principle)接口隔離原則。
          客戶端不應該可以訪問不需要的方法,這些不需要的方法是一種有害的耦合性。
          所以應該設計多個專門接口而不是單個復雜的接口,客戶端僅依賴最小的接口類型。

          6、LoD (Law of Demeter)迪米特法則。
          即最少知識原則。一個對象應當對其他對象有盡可能少的了解。只和最直接的類交互,對第三方可以通過轉達交互,從而減少對象間的耦合性。

          7、CARP (Composite/Aggregate Reuse Principle)合成/聚合復用原則。
          多聚合、少繼承,實現復用性。聚合的復用是一種封閉性的復用,被復用者對復用者隱藏了自身細節,而繼承是一種開放性的復用,子類可以獲取父類型相關的細節,破壞了封閉性。
          posted on 2011-03-31 14:07 liucs 閱讀(398) 評論(0)  編輯  收藏 所屬分類: 架構與設計

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


          網站導航:
           
          主站蜘蛛池模板: 菏泽市| 星座| 蒙山县| 南安市| 乌审旗| 治多县| 莲花县| 吉林省| 郁南县| 扶绥县| 赞皇县| 友谊县| 达州市| 汉中市| 苏尼特左旗| 内黄县| 浦北县| 贵阳市| 新龙县| 成武县| 长沙县| 犍为县| 江永县| 浙江省| 游戏| 玛多县| 东山县| 阿鲁科尔沁旗| 鸡泽县| 黔西县| 交口县| 化州市| 巩留县| 邵东县| 林芝县| 南通市| 清流县| 信宜市| 玉门市| 航空| 读书|