兩周多學完Java 23種設計模式
最近兩周任務不是很繁重,對於一個剛入職4個月的菜鳥來說,學習設計模式並靈活使用簡直天方夜譚;但是當我詢問我導師需要學點啥的時候?“《Java設計模式》,這個必須要學”,一句簡單粗略的話就打發我了。我花了將近兩周多的時間看了一部分《Java設計模式》、google網上大佬的博客總結和樣例展示,閱讀一些Java的底層源碼,讓我對Java設計模式有了一個全面的認識和理解。
接下來我會每周抽時間,獻上我所理解的Java設計模式,總結前輩們的經驗,並融會貫通,在項目中嘗試著使用簡單的設計模式,並消化比對不同設計模式之間的區別。
(一)Java設計模式大體上分為三類:
(1)創建型設計模式 (5種):工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式;
(2)結構型設計模式 (7種):適配器模式、裝飾器模式、代理模式、組合模式、外觀模式、享元模式、橋接模式;
(3)行為型設計模式 (11種):解釋器模式、模板模式、訪問者模式、中介者模式、策略模式、備忘錄模式、狀態模式、觀察者模式、叠代器模式、命令模式、職責鏈;
(二)具體三種不同設計模式分類解釋:
(1)創建型模式:在軟件設計中對象的創建和對象的使用是分開的,因為對象的創建會消耗掉系統的很多資源,所以會單獨對對象的創建進行研究,從而能夠高效地創建對象就是創建型模式要探討的問題;
(2)結構型模式:如何設計對象的結構、繼承和依賴關系會影響到後續程序的維護性、代碼的健壯性、耦合性等,也是很多開發者需要註意的地方;
(3)行為型模式:行為模式不僅描述對象或類的模式,還描述它們之間的通信模式;這些模式刻畫了在運行時難以跟蹤復雜的控制流,它們將你的註意力從控制流轉移到對象間的聯系方式上來;行為類模式使用繼承機制在類間分派行為,如:模板模式;行為型模式則使用對象聚合、組合而不是繼承,一些行為對象模式描述了一組對等的對象怎樣相互協作以完成其中任一對象都無法單獨完成的任務,如:職責鏈、中介者和觀察者模式等。
(三)具體設計模式列表如下:
加油,堅持,我會持續更新Java設計模式列表展示,一起監督學習!
創建型模式:
《Java設計模式》之 單例模式:https://blog.csdn.net/super_YC/article/details/70141920
《Java設計模式》之 簡單工廠模式:https://blog.csdn.net/super_YC/article/details/83862720
《Java設計模式》之 工廠方法模式:https://blog.csdn.net/super_YC/article/details/83862831
《Java設計模式》之 抽象工廠模式:https://blog.csdn.net/super_YC/article/details/83862899
《Java設計模式》之 建造者模式:https://blog.csdn.net/super_YC/article/details/83825595
《Java設計模式》之 原型模式:https://blog.csdn.net/super_YC/article/details/83828118
結構型模式:
《Java設計模式》之 享元模式:https://blog.csdn.net/super_YC/article/details/83794453
《Java設計模式》之 外觀模式:https://blog.csdn.net/super_YC/article/details/83820235
《Java設計模式》之 代理模式:https://blog.csdn.net/super_YC/article/details/83827740
《Java設計模式》之 裝飾者模式:https://blog.csdn.net/super_YC/article/details/83864063
《Java設計模式》之 橋接模式:https://blog.csdn.net/super_YC/article/details/83824687
《Java設計模式》之 適配器模式:https://blog.csdn.net/super_YC/article/details/83823033
行為型模式:
《Java設計模式》之 叠代器模式:https://blog.csdn.net/super_YC/article/details/83623825
《Java設計模式》之 訪問者模式:https://blog.csdn.net/super_YC/article/details/83792271
《Java設計模式》之 中介者模式:https://blog.csdn.net/super_YC/article/details/83793281
《Java設計模式》之 策略模式:https://www.ysyl157.com blog.csdn.net/super_YC/article/details/83824515
《Java設計模式》之 觀察者模式:https://blog.csdn.net/super_YC/article/details/83826588
《Java設計模式》之 命令模式:https://www.yongxinzaixian.cn blog.csdn.net/super_YC/article/details/83828518
《Java設計模式》之 備忘錄模式:https://www.dasheng178.com/ blog.csdn.net/super_YC/article/details/83828623
《Java設計模式》之 模板模式:https://www.mcyllpt.com blog.csdn.net/super_YC/article/details/83863628
《Java設計模式》之 狀態模式:https://www.mhylpt.com blog.csdn.net/super_YC/article/details/83863712
《Java設計模式》之 職責鏈模式:https://blog.csdn.net/super_YC/article/details/83863827
---------------------
兩周多學完Java 23種設計模式