Java設計模式七大原則

設計模式七大原則

單一職責原則

1)降低類的複雜度,一個類只負責一項職責。

2)提高類的可讀性可維護性。

3)降低變更引起的風險。

4)通常情況下,我們應當遵循單一職責原則,只有在邏輯足夠簡單,纔可以在代碼級違反單一職責原則,只有類中的方法足夠少,可以在方法級別保持單一職責原則。

接口隔離原則

類不應該依賴它不需要的接口,即一個類對另一個類的依賴應該建立在最小的接口上。

依賴倒轉原則

1)高層模塊不應依賴底層模塊,二者都應該依賴其抽象。

2)抽象不應該依賴細節,細節應該依賴抽象。

3)依賴倒轉的中心思想是面向接口編程。

依賴倒轉的設計理念:

相對於細節的多變性,抽象的東西更穩定,以抽象爲基礎搭建的架構就要比以細節爲基礎搭建的架構穩定的多。Java中的抽象指接口或抽象類,細節就是具體的實現類。

使用抽象類或接口的目的是制定好規範,而不涉及任何具體的操作,並把實現的細節任務交給它們的實現類去完成。

裏式替換原則

1)如果對每個類型爲T1的對象o1,都有類型爲T2的o2,使得以T1定義的所有程序P在所有的對象o1換爲o2時,程序P的行爲沒有發生變化,那麼類型T2就是T1的子類型。換句話說,所有引用基類的地方必須能透明的使用其子類對象。

2)在使用繼承時,子類儘量不要重寫其父類的方法。

3)繼承實際上讓兩個類的耦合性增強了,在適當的情況下,可以通過聚合、組合和依賴來解決問題。

開閉原則

1)開閉原則是編程中最基礎最重要的涉及原則。

2)軟件中的類、模塊和函數應該對擴展開放(對提供方),對修改關閉(對使用方),用抽象構建框架,用實現擴展細節。

3)當軟件需要變化時,儘量通過擴展軟件實體的行爲來實現變化,而不是通過修改已有的代碼來實現。

4)編程中遵循其他原則以及使用設計模式的目的就是遵循開閉原則。

迪米特法則

1)一個對象應該對其他對象保持最少了解。

2)類與類關係越密切,耦合越大。

3)迪米特法則又叫最少知道原則,即一個類對自己依賴的類知道的越少越好,也就是說,對於被依賴的類不管多麼複雜,都儘量將邏輯封裝在自己的內部。對外除了提供public方法,不在泄漏任何信息。

4)迪米特法則還有個更簡單的定義:只與直接朋友通信。

直接朋友:每個對象都會與其他對象有耦合關係,只要兩個對象有耦合關係,我們就說這兩個對象直接是朋友關係。耦合的方式很多,依賴、關聯、組合、聚合等,其中,我們稱出現的成員變量、方法參數、方法返回值中的類爲直接朋友,而出現在局部變量中的類不是直接朋友,也就是說,陌生的類最好不要以局部變量的方式出現在類的內部。

注意事項:

1)迪米特法則的核心是降低類之間的耦合。

2)迪米特法則只是要求降低類之間的耦合關係,並不是要求完全沒有依賴關係。

合成複用原則

儘量使用合成、聚合的方式,而不是使用繼承。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章