物件導向的設計原則:
1.單一職責原則(srp)----每個物件應該只有一種責任。
可以達到公用的方法,可以放入乙個類中,有差異但相似的方法,可以根據差異單獨實現。
例如: 角色(戰士,法師)-攻擊(物理,法術)-防禦。
2.開閉原則(ocp)---設計程式時對功能擴充套件開放,對修改關閉。
進行功能擴充套件時不需要修改源**,更利於後期維護。一般利用介面去新增新方法,在實現類新增具體實現。
3.黎克特制替換原則(lsp)---任何情況子類替換父類都不會影響程式執行。
使用多型就是黎克特制替換原則。
4.依賴倒置原則或控制反轉原則(dip)--- 高層不依賴底層,二者都依賴介面和抽象類。
介面用來宣告公共方法,抽象類用來實現公共方法。與開閉原則相似。
5.介面隔離原則(isp)---多個功能分開實現,不強迫使用不需要的功能。
使用多個專門的介面,拆分功能,需要什麼就呼叫什麼。
6.迪公尺特原則(lop)---盡可能降低類訪問級別。降低類與類的耦合。
利用中介來連線兩個類,過多的中介類也會導致執行效率的問題,因此不能過度使用。
7.組合/聚合復用原則(carp)---盡量不使用繼承達到復用類的目的,盡量使用組合/聚合方式。
暫時不通,需要翻閱資料,後面單獨列出。
設計模式
1.建立型模式
怎麼建立物件,什麼時候建立物件。
2.結構型模式
物件怎麼去描述,採用什麼結構更好。
3.行為型模式
規定了各個物件應具備的職責和物件間的通訊模式。
Java設計模式學習心得
1.從理解設計的幾大原則開始 1 open close principle 開 程式可拓展,熱插拔形式 閉 禁止對上一版本的程式進行 修改 原則,通常要用到介面達到這種效果。2 liskov substitution principle lsp黎克特制替換原則,任何可以使用基類的地方均可以使用其子類...
設計模式學習心得 開篇
做了幾年的開發工作,還停留在開發工程師的階段,想著不能一直這樣下去,覺得要為自己以後做打算了,開發常規兩條路 專案管理,架構師,我選擇架構師。之 所以這樣選,這是保守的乙個選擇,用格力的廣告 掌握核心科技 只有掌握了核心技術,核心業務,才能佔據主導角色。當然要成為乙個合格的架構師,需要學 習的,掌握...
《大話設計模式》學習心得系列(二)
物件導向基礎 2 本博文意在鞏固基礎知識,高手請繞過。物件導向的三大特徵 封裝 繼承 多型 什麼是封裝?每個物件都包含它能進行操作所需要的所有資訊,這個特性稱為封裝,因此物件不必依賴其他物件來完成自己的操作。這樣方法和屬性包含在類中,通過類的例項來實現。類將資料和運算元據的方法結合成乙個單位。在設計...