對於物件導向軟體系統的設計而言,在支援可維護性的同時,提高系統的可復用性是乙個至關重要的問
題,如何同時提高乙個軟體系統的可維護性和可復用性是物件導向設計需要解決的核心問題之一。
1.1 簡介
1.1.1 單一職責原則(single responsibility principle, srp)
類的職責要單一,不能將太多的職責放在乙個類中。
1.1.2 開閉原則(open-closed principle, ocp):
軟體實體對擴充套件是開放的,但對修改是關閉的。
1.1.3 黎克特制代換原則(liskov substitution principle, lsp):
在軟體系統中,乙個可以接受基類物件的地方必然可以接受乙個子類物件。
1.1.4 依賴倒轉原則(dependency inversion principle, dip):
要針對抽象層程式設計,而不是針對具體類程式設計。
1.1.5 介面隔離原則(inte***ce segregation principle, isp):
使用多個專門的介面來取代乙個統一的介面。
1.1.6 合成復用原則(composite reuse principle, crp):
在系統中應該盡量多使用組合和聚合關聯關係,盡量少使用甚至不使用繼承關係。
1.1.7 迪公尺特法則(law of demeter, lod):
乙個軟體實體對其它實體的引用越少越好,或者說如果兩個類不必彼此直接通訊,那麼這兩個類就不應
當發生直接的相互作用,而是通過引入乙個第三者發生間接互動。
OO設計原則總結
oo設計原則 在程式設計領域,物件導向設計的設計原則有封裝變化,面向介面而不是實現,優先使用組合而非繼承,具體分為五個基本原則 單一功能原則srp,開閉原則ocp,黎克特制替換原則lsp,介面隔離原則isp,依賴反轉原則dip.1 單一功能原則srp 單一功能原則srp規定每個類都應該有乙個單一的功...
設計模式學習 設計原則
單一職責原則 就乙個類而言,應該僅有乙個引起他變化的原因 如果乙個類承擔的職責過多,就等於把這些職責耦合在一起,乙個職責的變化可能會削弱或者抑制這個類完成其他職責的能來,這種耦合會導致脆弱的設計,當變化發生時,設計會遭受意想不到的破壞 如果你能想到多於乙個的動機去改變乙個類,那麼這個類就具有多餘乙個...
設計原則之美學習筆記 設計原則
乙個類只負責完成乙個職責或者功能。不要設計大而全的類,要設計粒度小 功能單一的類。單一職責原則是為了實現 高內聚 低耦合,提高 的復用性 可讀性 可維護性。不同的應用場景 不同階段的需求背景 不同的業務層面,對同乙個類的職責是否單一,可能會有不同的判定結果。實際上,一些側面的判斷指標更具有指導意義和...