對於物件導向軟體系統的設計而言,在支援可維護性的同時,提高系統的可復用性是乙個至關重要的問題,如何同時提高乙個軟體系統的可維護性和可復用性是物件導向設計需要解決的核心問題之一。在物件導向設計中,可維護性的復用是以設計原則為基礎的。每乙個原則都蘊含一些物件導向設計的思想,可以從不同的角度提公升乙個軟體結構的設計水平。
物件導向設計原則為支援可維護性復用而誕生,這些原則蘊含在很多設計模式中,它們是從許多設計方案中總結出的指導性原則。物件導向設計原則也是我們用於評價乙個設計模式的使用效果的重要指標之一,在設計模式的學習中,大家經常會看到諸如「***模式符合***原則」、「***模式違反了***原則」這樣的語句。
最常見的7種物件導向設計原則如下表所示:
表1 7種常用的物件導向設計原則
設計原則名稱
定義
使用頻率
單一職責原則
(single responsibility principle, srp)
乙個類只負責乙個功能領域中的相應職責
★★★★☆
開閉原則
(open-closed principle, ocp)
軟體實體應對擴充套件開放,而對修改關閉
★★★★★
黎克特制代換原則
(liskov substitution principle, lsp)
所有引用基類物件的地方能夠透明地使用其子類的物件
★★★★★
依賴倒轉原則
(dependence inversion principle, dip)
抽象不應該依賴於細節,細節應該依賴於抽象
★★★★★
介面隔離原則
(inte***ce segregation principle, isp)
使用多個專門的介面,而不使用單一的總介面
★★☆☆☆
合成復用原則
(composite reuse principle, crp)
盡量使用物件組合,而不是繼承來達到復用的目的
★★★★☆
迪公尺特法則
(law of demeter, lod)
乙個軟體實體應當盡可能少地與其他實體發生相互作用
★★★☆☆
物件導向設計原則概述
對於物件導向軟體系統的設計而言,在支援可維護性的同時,提高系統的可復用性是乙個至關重要的問題,如何同時提高乙個軟體系統的可維護性和可復用性是物件導向設計需要解決的核心問題之一。在物件導向設計中,可維護性的復用是以設計原則為基礎的。每乙個原則都蘊含一些物件導向設計的思想,可以從不同的角度提公升乙個軟體...
物件導向設計原則概述
分類 設計模式 軟體工程 軟體教育 軟體架構 2012 05 04 23 50 373人閱讀收藏 舉報對於物件導向軟體系統的設計而言,在支援可維護性的同時,提高系統的可復用性是乙個至關重要的問題,如何同時提高乙個軟體系統的可維護性和可復用性是物件導向設計需要解決的核心問題之一。在物件導向設計中,可維...
物件導向設計原則概述
對於物件導向軟體系統的設計而言,在支援可維護性的同時,提高系統的可復用性是乙個至關重要的問題,如何同時提高乙個軟體系統的可維護性和可復用性是物件導向設計需要解決的核心問題之一。在物件導向設計中,可維護性的復用是以設計原則為基礎的。每乙個原則都蘊含一些物件導向設計的思想,可以從不同的角度提公升乙個軟體...