1. 程式人生 > >兩週多學完Java 23種設計模式

兩週多學完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/83825595

結構型模式:

《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/83623825

《Java設計模式》之 訪問者模式:https://blog.csdn.net/super_YC/article/details/83792271

《Java設計模式》之 中介者模式:https://blog.csdn.net/super_YC/article/details/83793281

《Java設計模式》之 策略模式:https://blog.csdn.net/super_YC/article/details/83824515

《Java設計模式》之 觀察者模式:https://blog.csdn.net/super_YC/article/details/83826588