第4章 設(shè)計模式概述 4.1-4.3
內(nèi)容來自尚硅谷Java設(shè)計模式(圖解+框架源碼剖析)_嗶哩嗶哩_bilibili
寫在前面:本文內(nèi)容大致和原視頻內(nèi)老師的筆記內(nèi)容相同,會偶爾插入自己的注釋和理解,盡量會完成作業(yè)
4.1掌握設(shè)計模式的層次
1.????? 第1層:剛開始學(xué)編程不久,聽說過什么是設(shè)計模式
2.????? 第2層:有很長時間的編程經(jīng)驗,自己寫了很多代碼,其中用到了設(shè)計模式,但是自己卻不知道
3.????? 第3層:學(xué)習過了設(shè)計模式,發(fā)現(xiàn)自己已經(jīng)在使用了,并且發(fā)現(xiàn)了一些新的模式挺好用的
4.????? 第4層:閱讀了很多別人寫的源碼和框架,在其中看到別人設(shè)計模式,并且能夠領(lǐng)會設(shè)計模式的精妙和帶來的好處。
5.????? 第5層:代碼寫著寫著,自己都沒有意識到使用了設(shè)計模式,并且熟練的寫了出來。
4.2設(shè)計模式介紹
1)????? 設(shè)計模式是程序員在面對同類軟件工程設(shè)計問題所總結(jié)出來的有用的經(jīng)驗,模式不是代碼,而是某類問題的通用解決方案,設(shè)計模式(Design pattern)代表了最佳的實踐。這些解決方案是眾多軟件開發(fā)人員經(jīng)過相當長的一段時間的試驗和錯誤總結(jié)出來的。
2)????? 設(shè)計模式的本質(zhì)提高軟件的維護性,通用性和擴展性,并降低軟件的復(fù)雜度。
3)????? <<設(shè)計模式>>是經(jīng)典的書,作者是 ErichGamma、Richard Helm、Ralph Johnson和John Vlissides Design(俗稱“四人組GOF”)
4)????? 設(shè)計模式并不局限于某種語言,java,php,c++都有設(shè)計模式.
4.3設(shè)計模式類型
設(shè)計模式分為三種類型,共23種
1)????? 創(chuàng)建型模式:單例模式、抽象工廠模式、原型模式、建造者模式、工廠模式。
2)????? 結(jié)構(gòu)型模式:適配器模式、橋接模式、裝飾模式、組合模式、外觀模式、享元模式、代理模式。
3)????? 行為型模式:模版方法模式、命令模式、訪問者模式、迭代器模式、觀察者模式、中介者模式、備忘錄模式、解釋器模式(Interpreter模式)、狀態(tài)模式、策略模式、職責鏈模式(責任鏈模式)。