對於面向對象軟件系統的設計而言,在支持可維護性的同時,提高系統的可複用性是一個至關重要的問題,如何同時提高一個軟件系統的可維護性和可複用性是面向對象設計需要解決的核心問題之一。在面向對象設計中,可維護性的複用是以設計原則爲基礎的。每一個原則都蘊含一些面向對象設計的思想,可以從不同的角度提升一個軟件結構的設計水平。
面向對象設計原則爲支持可維護性複用而誕生,這些原則蘊含在很多設計模式中,它們是從許多設計方案中總結出的指導性原則。面向對象設計原則也是我們用於評價一個設計模式的使用效果的重要指標之一,在設計模式的學習中,大家經常會看到諸如“XXX模式符合XXX原則”、“XXX模式違反了XXX原則”這樣的語句。
最常見的7種面向對象設計原則如下表所示: