低耦合、高內聚
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 閱讀(395)
評論(0) 編輯 收藏 所屬分類:
架構與設計