03.06 如何正確地使用設計模式?

李依舅


不會用設計模式的程序員不是一個好的程序員!為什麼呢?

首先,我們得知道設計模式的來歷:隨著程序編程的不斷髮展,關於怎麼編好程序,漸漸的在行內有了一些默認的規則,後來被總結為六大原則即:單一職責原則,里氏替換原則,依賴倒置原則,接口隔離原則,狄米特原則,開閉原則!


力求接口的避免頻繁的修改原有接口,避免反向依賴,避免繼承影響,避免過度耦合,避免不夠透明!

但是六大設計原則是一個模糊的概念,在代碼編程中卻很難精準把握,就像是說你要做個好人,但是具體怎麼做呢?要孝順,要善良,要尊老愛幼,這些具體的可實施的模式,才是解決方案!設計模式就此誕生,是對設計原則的具體實施方案!

設計模式有很多種,比如策略模式,工廠模式,修飾器模式,適配器模式等等!

這麼多的設計模式我們看的頭昏眼花,概念的東西看了忘,忘了繼續看,落不到實處!怎麼辦呢?設計模式誕生之初就是為了解決不同場景不同解決方案的問題,我們要根據場景定製設計模式,根據場景靈活選用甚至改造設計模式!


下面舉例說明不同設計模式能用到什麼場景!

1,單例模式:從始至終一個對象!

2,工廠模式:統一的方法替換new創建對象!

3,模板方法:共有的,複雜的抽象到一起!

4,建造者模式:相同的方法,不同的執行順序創建不同的對象!

5,代理模式:減輕自身業務功能代碼負擔,最常用的spring AOP!

6,原型模式:對象拷貝!

7,命令模式:外部調用時只能看到一個調度者,調度人安排內部工作!

8,責任鏈模式:使用被處理人的狀態,逐一選擇合適的執行對象,直到結束!

9,策略模式:遇人說人話,遇鬼說鬼話,根據不同的策略選擇不同的處理!


10,裝飾模式:原始的返回對象不動,經過修飾給不同的調用者不同的返回類型!

......

還有很多,手機打字累,點個贊,給個評論,我以後再補,行嗎?


此生唯一


推薦閱讀《Head First 沒計模式》一書,出版差不多十年了吧,絕對經典!


XPegasus


孰能生巧,多看別人怎麼寫的(看一些優秀的框架),多想想別人為什麼這麼寫,然後你就會發現寫著寫著,你就用上了;


一般的業務開放中,完全沒有必要為了用設計模式而用設計模式


小灰灰blog


思想即可,有些時候不一定是套框架。

時代都在進步。比如觀察者模式,c#裡可以用事件,很方便就完成觀察者模式了。

多練習設計模式對設計,架構都有好處。


分享到:


相關文章: