設計模式六大原則,詳細

設計模式六大原則

1、 開閉原則

開放-封閉原則,是說軟件實體(類、模塊、函數等等)應該可以擴展,但是不可以修改。這個原則有兩個特徵,擴展是開放的,更改是封閉的。但是無論模塊是多麼的‘封閉’,都會存在一些無法對之封閉的變化。既然不可能完全封閉,設計人員必須對於他設計的模塊應該對哪種變化封閉做出選擇。他必須先猜測出最有可能發生的變化種類,然後構造抽離來隔離那些變化。在我們最初編寫代碼時,假設變化不會發生。當變化發生時,我們就創建抽象來隔離以後發生的同類變化。面對需求,對程序的改動是通過增加新代碼進行的,而不是更改現有的代碼。開發-封閉原則是面向對象設計的核心所在。遵循這個原則可以帶來面向對象技術所生成的巨大好處,也就是可維護、可擴展、可服用、靈活性好。開發人員應該僅對程序中呈現出頻繁變化的那些部分做出抽象,然而,對於應用程序中的每個部分都刻意地進行抽象同樣不是一個好注意。拒絕不成熟的抽象和抽象本身一樣重要。

2、 里氏代換原則(多態)

里氏代換原則是一個軟件實體如果使用的是一個父類的話,那麼一定適用於其子類,而且它覺察不出父類對象和子類對象的區別。也就是說,在軟件裏面,把父類都替換成它的子類,程序的行爲沒有變化,簡單地說,子類型必須能夠替換掉它們的父類型。

3、 依賴倒轉原則

依賴倒轉原則,簡單地說就是抽象不應該依賴細節,細節應該依賴於抽象,就是要針對接口編程,不要對實現編程。依賴倒轉原則:高層模塊不應該依賴底層模塊,兩個都應該依賴抽象。抽象不應該依賴細節,細節應該依賴抽象。例如:主板、CPU、內存、硬盤都是在針對接口設計的,如果針對實現來設計,內存就要對應到具體的某個品牌的主板,那就會出現換內存需要把主板也換了的尷尬。這個原則很好理解,不過多贅述

4、 接口隔離原則

使用多個專門的接口,而不使用單一的總接口,即客戶端不應該依賴那些它不需要的接口。根據接口隔離原則,當一個接口太大時,我們需要將它分割成一些更小的接口,使用該接口的客戶端僅需要知道與之相關的方法即可。每一個接口應該承擔一種相對獨立的角色,不幹不該乾的事,該乾的事都要幹。也就是說接口的定義要遵從單一職責原則。

5、 迪米特原則

那麼這兩個類就不應當發生直接的相互作用。如果其中一個類需要調用另一個類的某一個方法的話,可以通過第三者轉發這個調用。
迪米特法則首先強調的前提是在類的結構設計上,每一個類都應當儘量降低成員的訪問權限,也就是說,一個類包裝好自己的private狀態,不需要讓別額類知道的字段或行爲就不要公開。迪米特法則其根本思想,是強調了類之間的鬆耦合。類之間的耦合越弱,越有利於複用,一個處在弱耦合的類被修改,不會對有關係的類造成波及

6、 合成複用原則
合成複用原則是指:儘量使用合成/聚合的方式,而不是使用繼承。

參考:https://blog.csdn.net/konglongdanfo1/article/details/83443215

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