物件導向設計原則概述
對於物件導向軟體系統的設計而言,在支援可維護性的同時,提高系統的可複用性是一個至關重要的問題,如何同時提高一個軟體系統的可維護性和可複用性是物件導向設計需要解決的核心問題之一。在物件導向設計中,可維護性的複用是以設計原則為基礎的。每一個原則都蘊含一些物件導向設計的思想,可以從不同的角度提升一個軟體結構的設計水平。
物件導向設計原則為支援可維護性複用而誕生,這些原則蘊含在很多設計模式中,它們是從許多設計方案中總結出的指導性原則。物件導向設計原則也是我們用於評價一個設計模式的使用效果的重要指標之一,在設計模式的學習中,大家經常會看到諸如“XXX模式符合XXX原則”、“XXX模式違反了XXX原則”這樣的語句。
最常見的7種物件導向設計原則如下表所示:
表1 7種常用的物件導向設計原則
設計原則名稱 | 定 義 | 使用頻率 |
單一職責原則 (Single Responsibility Principle, SRP) | 一個類只負責一個功能領域中的相應職責 | ★★★★☆ |
開閉原則 (Open-Closed Principle, OCP) | 軟體實體應對擴充套件開放,而對修改關閉 | ★★★★★ |
里氏代換原則 (Liskov Substitution Principle, LSP) | 所有引用基類物件的地方能夠透明地使用其子類的物件
| ★★★★★ |
依賴倒轉原則 (Dependence Inversion Principle, DIP) | 抽象不應該依賴於細節,細節應該依賴於抽象 | ★★★★★ |
介面隔離原則 (Interface Segregation Principle, ISP) | 使用多個專門的介面,而不使用單一的總介面 | ★★☆☆☆ |
合成複用原則 (Composite Reuse Principle, CRP) | 儘量使用物件組合,而不是繼承來達到複用的目的
| ★★★★☆ |
迪米特法則 (Law of Demeter, LoD) | 一個軟體實體應當儘可能少地與其他實體發生相互作用 | ★★★☆☆ |
【作者:劉偉 http://blog.csdn.net/lovelion】
相關文章
- 物件導向設計原則物件
- 開閉原則——物件導向程式設計原則物件程式設計
- The Principles of OOD 物件導向設計原則物件
- 2.物件導向設計原則物件
- 物件導向設計原則和模式物件模式
- 物件導向的基本設計原則物件
- 前端設計模式(0)物件導向&&設計原則前端設計模式物件
- 物件導向設計原則&設計模式分類物件設計模式
- Java中物件導向的設計原則Java物件
- 物件導向的編碼設計原則物件
- 翻譯 | The Principles of OOD 物件導向設計原則物件
- 物件導向之六大設計原則物件
- 物件導向設計的6大原則物件
- SOLID:物件導向設計的前五項原則Solid物件
- 61條物件導向設計的經驗原則物件
- 七種常見的物件導向設計原則物件
- 物件導向OO原則物件
- 物件導向設計的六大原則(SOLID原則)-——里氏替換原則物件Solid
- 實驗1:UML與物件導向程式設計原則物件程式設計
- 物件導向程式設計(OOP)的七大原則物件程式設計OOP
- 物件導向之 開閉原則物件
- 物件導向程式設計的基本原則物件程式設計
- 物件導向的7大原則與23種設計模式物件設計模式
- 物件導向設計的六大設計原則(附 Demo & UML類圖)物件
- Java 物件導向概述Java物件
- 不止於物件導向的SOLID原則物件Solid
- OOP物件導向程式設計(Object-Oriented Programming)概述OOP物件程式設計Object
- 【設計模式筆記】(零)- 物件導向的六大原則設計模式筆記物件
- 設計模式:物件導向設計的六大原則 (絕對詳細)設計模式物件
- 物件導向的六大原則物件
- 設計模式之——物件導向5大基本原則設計模式物件
- SOLID:物件導向設計的五個基本原則Solid物件
- 物件導向程式設計物件程式設計
- 開發中濫用物件導向,你是否違背了程式設計原則物件程式設計
- JS物件導向設計-建立物件JS物件
- java 物件導向必懂概述Java物件
- 物件導向基本原則物件
- 深入理解物件導向,物件導向3個特性7個原則6種關係物件
- 物件導向設計的11原則--你稱得上OO專家麼?(專自CSDN)物件