1.單一職責
引起類變化的原因不能多於乙個。也就是說每乙個類只負責自己的事情,此所謂單一職責。關於單一職責原則的原理,
我們就不做過多的解釋了。重點是職責的劃分!重點是職責的劃分!重點是職責的劃分!重要的事情說三遍。每乙個類因該
劃分到最小單位,對應的是資料庫設計的原子性。
2.開閉原則
乙個軟體實體應當對擴充套件開放,對修改封閉
通過介面或者抽象類約束擴充套件,對擴充套件進行邊界限定,不允許出現在介面或抽象類中不存在的public方法;
引數型別、引用物件盡量使用介面或者抽象類,而不是實現類;
抽象層盡量保持穩定,一旦確定即不允許修改。
3.介面隔離
類的依賴關係應建立在最小介面上,不要都塞在一起。即客戶端不應該依賴它不需要的介面。
介面隔離原則就是要求只提供盡可能小的介面,需要高內聚,不需要的行為要隱藏起來
4. 黎克特制替換
子類必須完全實現父類有的方法,如果子類沒有父類的某項東西,就斷掉繼承;
子類可以有父類沒有的東西,所以子類的出現的地方,不一定能用父類來代替;
透明,就是安全,父類的東西換成子類後不影響程式
a、父類已經實現的東西,子類不要去new
b、父類已經實現的東西,想改的話,就必須用virtual+override 避免埋雷
5.迪公尺特
盡可能少寫public方法和變數,不需要讓其它物件知道的變數或方法就不要公開。迪公尺特法則的主要目的是減少模組間的依賴,
降低模組間的耦合度,提高**的復用性。類中的方法該公有的公有,該私有的私有。
6.依賴倒置
依賴倒置原則就是程式邏輯在傳遞引數或關聯關係時,盡量引用高層次的抽象,不使用具體的類,即使用介面或抽象類來引用引數,宣告變數以及處理方法返回值等。
這樣就要求具體的類就盡量不要有多餘的方法,否則就呼叫不到。說簡單點,就是「面向介面程式設計」
一句話總結設計模式六大原則
第一大原則 開閉原則 一句話總結 軟體系統必須對拓展開放,對修改關閉 第二大原則 黎克特制代換原則 一句話總結 子類必須能夠替換成他們的基類 表現 盡量從抽象類繼承而不從實體類繼承,抽象呼叫 第三大原則 依賴倒轉原則 一句話總結 依賴於抽象而不依賴於具體 表現 對介面程式設計而不是對實現程式設計,盡...
一句話評論設計模式六大原則
原則,故名思議則是本質的意思。所謂擒賊先擒王,研究設計模式自然要先了解設計原則,所有的模式都是在這些原則的基礎之上發展起來的,有的是側重乙個,有的是多個都有所涉及。看完設計模式之後,我感覺到每個模式都有這些原則的影子,還滲透著物件導向的三大屬性,也覺得這些原則也都有相通之處,正是有了他們才使我們由 ...
一句話評論設計模式六大原則
原則,故名思議則是本質的意思。所謂擒賊先擒王,研究設計模式自然要先了解設計原則,所有的模式都是在這些原則的基礎之上發展起來的,有的是側重乙個,有的是多個都有所涉及。看完設計模式之後,我感覺到每個模式都有這些原則的影子,還滲透著物件導向的三大屬性,也覺得這些原則也都有相通之處,正是有了他們才使我們由 ...