乙個類只專注於做一件事;
高內聚,低耦合;
對拓展開放,對修改關閉(盡可能不動原有**進行拓展);
高內聚,低耦合;
為達到目的,需對系統進行抽象化設計(關鍵);
uml舉例:
子類必須能夠替換它們的基型別,基類與子類可互換,客戶端沒有察覺情況下;
低耦合;
很容易實現同一父類下的各個子類的互換,而客戶端可以毫不察覺;
uml例項:
士兵只能使用weapongun,而無法使用toygun殺敵,如果使用toygun將會出錯。這就是黎克特制替換原則。
這個是開閉原則的基礎,具體內容:面向介面程式設計,依賴於抽象而不依賴於具體。寫**時用到具體類時,不與具體類互動,而與具體類的上層接**互。
使用多個專一功能的介面比使用乙個總介面總要好,但不能過渡;
乙個介面不能過於臃腫;
高內聚
會使乙個軟體系統功能拓展時,修改的壓力不會影響到別的物件那去;
uml例項:
又叫最少知識原則;
物件與物件之間應該使用盡可能少的方法來關聯,避免千絲萬縷的關係;
低耦合;
類知道其他類應盡量少;
類可以訪問其他類的方法或者屬性也應盡量少;
如果lily和jack自己做hamburg那麼就會與vegetable、meat、bread產生千絲萬縷關係。上圖,則由kfc來做,這樣lily和jack就只與hamburg有關關聯,與材料就沒有關聯了。
Java 設計模式六大原則
在物件導向設計領域,軟體開發人員在開發過程中總結了不少的經驗,許多經驗在現代軟體開發過程中已經被認為是原則來被遵守。單一職責原則 srp single responsibility principle 又稱單一功能原則,它規定乙個類應該只有乙個發生變化的原因。單一職責原則就是指乙個類或者模組應該有且...
設計模式六大原則
0.05 設計模式 設計模式 規範 筆記 大話設計模式 物件導向的關鍵在於封裝,封裝好了才能很好的復用,達到單一職責和開放擴充套件 封閉更改的效果。1 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因.增加功能不應該修改已有的 避免修改出錯及重複測試.如果你能夠想到多於乙個的動機去改變乙個類...
設計模式六大原則
0.05 設計模式 設計模式 規範 筆記 大話設計模式 物件導向的關鍵在於封裝,封裝好了才能很好的復用,達到單一職責和開放擴充套件 封閉更改的效果。1 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因.增加功能不應該修改已有的 避免修改出錯及重複測試.如果你能夠想到多於乙個的動機去改變乙個類...