設計原則名稱

設計原則簡介

重要性

單一職責原則

(Single Responsibility Principle, SRP)

類的職責要單一,不能將太多的職責放在一個類中

★★★★☆

開閉原則

(Open-Closed Principle, OCP)

軟件實體對擴展是開放的,但對修改是關閉的,即在不修改一

個軟件實體的基礎上去擴展其功能

★★★★★

里氏代換原則

(Liskov Substitution Principle, LSP)

在軟件系統中,一個可以接受基類對象的地方必然可以接受一

個子類對象

★★★★☆

依賴倒轉原則

(Dependency Inversion Principle, DIP)

要針對抽象層編程,而不要針對具體類編程

★★★★★

接口隔離原則

(Interface Segregation Principle, ISP)

使用多個專門的接口來取代一個統一的接口

★★☆☆☆

合成復用原則

(Composite Reuse Principle, CRP)

在系統中應該盡量多使用組合和聚合關聯關系,盡量少使用甚

至不使用繼承關系

★★★★☆

迪米特法則

(Law of Demeter, LoD)

一個軟件實體對其他實體的引用越少越好,或者說如果兩個類

不必彼此直接通信,那么這兩個類就不應當發生直接的相互作

用,而是通過引入一個第三者發生間接交互

★★★☆☆