剛開始學設計模式的時候
搜尋了各種部落格資料
總是說六大設計原則
但是在看劉偉主編的《設計模式》的時候,卻看到了七種……
以為是後來加的呢
後來仔細看了看劉偉主編的《設計模式》
頓時感覺好像可以這麼理解
總共是六大原則加乙個法則……
以下是這六個原則乙個法則的名稱與定義
(1)單一職責原則(single responsibility principle):乙個物件應該只包含單一的職責,並且該職責被完整封裝在乙個類裡。這個從目的上很好理解,就是為了達到高聚合低耦合這個目的的。
(2)開閉原則(open-closed principle):乙個軟體實體應當對擴充套件開放,對修改關閉。通俗地講就是不允許修改原來的**,但是可以增加功能。
(3)裡式替換原則( liskov substitution principle):所有引用基類(父類)的地方必須能透明地使用其子類的物件。用白話來講就是能使用父類的地方就能應當能使用子類替換。
(4)依賴倒轉原則(dependence inversion principle):高層模組不應該依賴於底層模組,它們都應該依賴抽象。即針對介面程式設計,不針對實現程式設計。
(5)介面隔離原則(inte***ce segregation principle):客戶端不應該依賴於那些它不需要的介面。通俗地講,就是介面不能太大,應該將大介面細分。
(6)合成復用原則(composite reuse principle):盡量使用物件來組合,而不是通過繼承來表達復用的目的。
(7)迪公尺特法則(law of demeter):這個法則厲害了,它有以下三種經典的定義①不要和「陌生人」說話②只與你的直接朋友通訊③每一種軟體單位對其他的單位都只有最少的知識,而且侷限於那些與本單位密切相關的軟體單位。
對於迪公尺特法則,又稱為最少知識原則(least knowledge principle),結合別稱與定義,我們應該不難理解迪公尺特法則是幹嘛的。
【注】關於這幾個原則法則,只有通過**例項才能得到更好的理解與掌握,這裡只是給出了簡單的定義。
這個博主很懶,就寫了這麼多,如有錯誤,望大家不吝批評指正。
一 設計模式六大原則
1 開閉原則 對擴充套件開發,對修改關閉。實現開閉原則的關鍵就在於 抽象 把系統的所有可能的行為抽象成乙個抽象底層,這個抽象底層規定出所有的具體實現必須提供的方法的特徵。作為系統設計的抽象層,要預見所有可能的擴充套件,從而使得在任何擴充套件情況下,系統的抽象底層不需修改 同時,由於可以從抽象底層匯出...
設計模式六大原則
0.05 設計模式 設計模式 規範 筆記 大話設計模式 物件導向的關鍵在於封裝,封裝好了才能很好的復用,達到單一職責和開放擴充套件 封閉更改的效果。1 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因.增加功能不應該修改已有的 避免修改出錯及重複測試.如果你能夠想到多於乙個的動機去改變乙個類...
設計模式六大原則
0.05 設計模式 設計模式 規範 筆記 大話設計模式 物件導向的關鍵在於封裝,封裝好了才能很好的復用,達到單一職責和開放擴充套件 封閉更改的效果。1 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因.增加功能不應該修改已有的 避免修改出錯及重複測試.如果你能夠想到多於乙個的動機去改變乙個類...