對於很多人來說,設計模式是乙個很高大上的東西。當然,恰當的使用設計模式確實能達到事半功倍的效果,能幫助我們解決一些複雜的業務場景,減少耦合,讓我們的邏輯更清晰,**更美觀,更具有維護性。
但是,什麼時候該用設計模式?是不是只要符合設計模式的場景就要用設計模式呢?當然不是,使用設計模式一般要注重兩點:一,這個地方的**反覆修改,事不過三,第三次修改時就該引入設計模式了,減少後面的維護成本;二,如果在剛開發的就有明確的業務需求支撐,即業務變化點超過3個,這時可以考慮立即引入相應的設計模式。所有設計模式的使用都應遵循這個規則,以後不再累述。
其實使用設計模式主要也是為了讓程式滿足程式設計的兩大原則:1.單一職責,2.開放閉合原則。這也是為什麼有些設計模式看著很相似,但是卻分成了多種設計模式的原因,就是因為這些設計模式的設計出發點不同,如果融合到乙個設計模式中勢必會打破這兩個原則。
從另個角度來看,我們所謂的程式設計就是將現實世界的東西虛擬化,虛擬成計算機可以識別的程式,而設計模式其實也是現實世界中處理不同場景下問題的方式的反應。
設計模式是軟體設計中常見問題的通用可重用的解決方案,與語言無關。
第乙個設計原則:找出應用中可能需要變化之處,把它們獨立出來,不和那些不需要變化的部分混合在一起。為了分開變化和不變化的部分,需要準備兩組類
第二個設計原則:針對介面程式設計,不針對實現程式設計。針對介面程式設計的真正意思是針對超型別程式設計。
第三個設計原則:多用組合,少用繼承。用行為類組合,而不是行為的繼承,更有彈性。
建立型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。
結構型模式,共七種:介面卡模式、裝飾器模式、**模式、外觀模式、橋接模式、組合模式、享元模式。
行為型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、直譯器模式。
設計模式分類
簡單工程模式
職責鏈模式
**模式
裝飾者模式
策略模式
觀察者模式
設計模式 概要
設計模式分為三類 1.建立型 2.結構型 3.行為型。建立型 abstract factory 抽象工廠 物件建立型模式 builder 生成器 物件建立型模式 factory method 工廠方法 物件建立型模式 prototype 原型 物件建立型模式 singleton 單件 物件建立型模式...
設計模式 JAVA 概要
設計模式三大分類 不要存在多於乙個導致類結構變更的原因。也就是說每個類應該實現單一的職責。自己理解 乙個類一件事,不要貪多。發現貪多就拆分。任何基類出現的地方,子類一定可以出現。開閉原則的基礎。面向介面程式設計,依賴於抽象而不依賴於具體。寫 時用到具體類時,不與具體類互動,而與具體類的上層接 互。每...
JavaOO設計模式概要(試用markdown)
物件導向的分析與設計。軟體工程學 是指導計算機軟體開發和維護的一門工程學科。採用工程化的方法開發維護。方法 完成軟體開發各項任務的技術方法 物件導向方法 工具 ea 為運用方法提供的自動或者半自動的軟體工程支撐環境 過程 基於原型的增量迭代軟體開發過程 一系列任務的框架 尋找商機,投標等等 專案 有...