1. 程式人生 > >設計模式的基本原則

設計模式的基本原則

開發 承擔 成熟 無法 能夠 技術 導致 設計 破壞

1單一職責原則

概念:就一個類而言,應該只有一個引起他變化的原因。

如果一個類承擔的職責過多,就等於把這些職責耦合在一起,一個職責的變化可能會削弱或抑制這個類完成其他職責的能力。這種耦合會導致脆弱的設計,當變化發生時,設計會遭受到意想不到的破壞。

2開放-封閉原則

概念:對於擴展是開放的,對於更改是封閉的。

無論模塊多麽封閉,都存在一些無法對之封閉的變化,既然無法完全封閉,設計人員就必須對於它涉及的模塊應該對那種變化封閉做出選擇,他必須先猜測出最有可能發生變化的種類,然後構造抽象來隔離那些變化。

在編寫代碼時假定變化不會發生。當變化發生是,我們就創建抽象來隔離以後發生同類的變化。面對需求,對程序的改動是通過增加新代碼進行的,而不是更改現有代碼。

開閉原則是面向對象設計的核心所在。遵循這個原則可以帶來面向對象技術所聲稱的巨大好處:可維護、可拓展、可復用、靈活性好。開發人員應該僅對程序中呈現出頻繁變化的那部分做出抽象,然而,對與應用程序每個部分都刻意進行抽象不是一好主意,拒絕不成熟的抽象和抽象本身一樣重要。

3依賴倒轉原則

A高層模塊不應該依賴低層模塊。兩個都應該抽象。

B抽象不應該依賴細節,細節應該依賴抽象。

依賴倒轉可以說是面向對象設計的標誌,用哪種語言編程不重要,如果編寫時考慮的都是如何針對抽象編程而不是針對細節編程,即程序中所有的依賴關系都是終止於抽象類或接口,那就是面向對象設計。

4裏氏代換原則

子類型必須能夠替換掉他們的父類型。

5迪米特法則

設計模式的基本原則