前言
為了讓我們的**有更佳的健壯性和可擴充套件性,我們在開發的時候應該遵循設計模式的六大原則,下面向大家介紹一下所謂的六大原則到底是什麼。
只要父類出現的地方子類就能夠出現,而且替換為子類不會產生任何錯誤或異常。這個原則是為良好的繼承定義乙個規範:
子類必須完全實現父類的方法
子類有自己的特性
覆蓋或者實現父類的方法時輸入引數可以被放大或縮小
要依賴於抽象,不要依賴於實現。說白了就是要依賴於抽象類和介面不要依賴具體類,具體類也就是我們可以用new關鍵字例項化的類。依賴倒轉原則是實現開閉原則的乙個手段。其實說白了就是我們通常所說的面向介面程式設計。依賴倒置有三種實現方式:
通過建構函式傳遞依賴物件
通過setter方法傳遞依賴物件
介面宣告實現依賴物件
該原則要求的是在乙個模組應該只依賴它需要的介面,保證介面的純淨,同時保證介面盡量細小化。
客戶端不應該強行依賴它不需要的介面
類間的以依賴關係應建立在最小的介面上
介面分為2種:
物件介面(object inte***)
類介面(class inte***ce)
介面一定要採用單一職責原則,實現類的設計上盡可能做到單一職責原則,最好是乙個原因引起乙個類的變化。簡單的說,就是乙個類負責乙個職責。
迪公尺特法則的核心觀念就是類間解耦,弱耦合,只有弱耦合了以後,類的復用性才可以提高。形象一點的比喻類似於:監獄內的犯人是不應該跟外面的人接觸的,當然或許會有探親的。這裡的監獄就是類,裡面的犯人就是類內部的資訊,而監獄裡的獄警就相當於迪公尺特法則的執行者。
定義:乙個類的物件應該對其他物件了解最少
在類的劃分上,應該建立有弱耦合的類;
在類的結構設計上,每乙個類都應當盡量降低成員的訪問許可權;
在類的設計上,只要有可能,乙個類應當設計成不變類;
在對其他類的引用上,乙個物件對其它物件的引用應當降到最低;
盡量降低類的訪問許可權;
謹慎使用序列化功能;
不要暴露類成員,而應該提供相應的訪問器(屬性)。
開閉原則算是前5中原則的乙個抽象總結,前五種是開閉原則的一些具體實現,所以如果使用開閉原則,其實有點虛,因為它沒有乙個固定的模式,但是最終保證的是提高程式的復用性、可維護性等要求。
核心:對擴充套件開放,對修改關閉。
設計模式六大原則
0.05 設計模式 設計模式 規範 筆記 大話設計模式 物件導向的關鍵在於封裝,封裝好了才能很好的復用,達到單一職責和開放擴充套件 封閉更改的效果。1 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因.增加功能不應該修改已有的 避免修改出錯及重複測試.如果你能夠想到多於乙個的動機去改變乙個類...
設計模式六大原則
0.05 設計模式 設計模式 規範 筆記 大話設計模式 物件導向的關鍵在於封裝,封裝好了才能很好的復用,達到單一職責和開放擴充套件 封閉更改的效果。1 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因.增加功能不應該修改已有的 避免修改出錯及重複測試.如果你能夠想到多於乙個的動機去改變乙個類...
設計模式六大原則
參考文章 單一職責原則 single responsibility principle,srp 乙個類只負責乙個功能領域中的相應職責,或者可以定義為 就乙個類而言,應該只有乙個引起它變化的原因。開閉原則 open closed principle,ocp 乙個軟體實體應當對擴充套件開放,對修改關閉。...