
03300001.png
1. 掌握設(shè)計模式的層次
- 第1層:剛開始學(xué)編程不久,聽說過什么是設(shè)計模式
- 第2層:有很長時間的編程經(jīng)驗,自己寫了很多代碼,其中用到了設(shè)計模式,但是自己卻不知道
- 第3層:學(xué)習(xí)過了設(shè)計模式,發(fā)現(xiàn)自己已經(jīng)在使用了,并且發(fā)現(xiàn)了一些新的模式挺好用的
- 第4層:閱讀了很多別人寫的源碼和框架,在其中看到別人設(shè)計模式,并且能夠領(lǐng)會設(shè)計模式的精妙和帶來的好處
- 第5層:代碼寫著寫著,自己都沒有意識到使用了設(shè)計模式,并且練的寫了出來
2. 介紹
- 設(shè)計模式是程序員在面對同類軟件工程設(shè)計問題所總結(jié)出來的的有用的經(jīng)驗,模式不是代碼,而是某類問題的通用解決方案,設(shè)計模式(Design pattern)代表了最佳的實踐。這些解決方案是眾多軟件開發(fā)人員經(jīng)過相當(dāng)長的一段時間的試驗和錯誤總結(jié)出來的
- 設(shè)計模式的本質(zhì)提高軟件的維護(hù)性,通用性和擴(kuò)展性,并降低軟件的復(fù)雜度
- 設(shè)計模式并不局限于某種語言,java、php、c++都有設(shè)計模式
3. 類型
- 設(shè)計模式分為三種類型,共23種
- 創(chuàng)建型模式:單例模式、抽象工廠模式、原型模式、建造者模式、工廠模式
- 結(jié)構(gòu)型模式:適配器模式、橋接模式、裝飾模式、組合模式、外觀模式、享元模式、代理模式
- 行為型模式:模版方法模式、命令模式、訪問者模式、迭代表器模式、觀察者模式、中介者模式、備忘錄模式、解釋器模式(Interpreter模式)、狀態(tài)模式、策略模式、職責(zé)鏈模式(責(zé)任鏈模式)