1.掌握設計模式的層次
????????第一層:剛剛學編程不久,聽說過什么是設計模式。
????????第二層:有很長時間的編程經驗,自己寫過很多代碼,其中用到了設計模式,但是自己不知道。
????????第三層:學習過設計模式,發現自己已經在使用了,并且發現了一些新的設計模式挺好用的。
????????第四層:閱讀了很多別人寫的源碼和框架,在其中看到了設計模式,并且可以領會到設計模式的精妙和帶來的好處。
????????第五層:代碼寫著寫著,自己沒有意識到使用了設計模式,并且可以熟練的寫出來設計模式。
????????從不知道 => 追求設計模式 => 熟練設計模式 => 可以觀察出別人使用設計模式設計的精髓 => 完成需求時沒有意識到自己使用了設計模式,化有形于無形。
2.到底什么是設計模式?
????????1.設計模式是程序員面對軟件工程設計問題時所總結出來的有用的經驗,不是代碼,是一種思想,一種針對問題的解決方案,設計模式代表了解決這類問題的最佳實踐。這類解決方案是眾多軟件開發人員經過相當長的一段時間試驗和錯誤總結出來的,是軟件工程的架構設計的精髓所在。
????????2.設計模式的本質 => 為了提高軟件的維護性,通用性和擴展性,降低軟件架構設計的復雜性。
????????3.現在常見的23種設計模式是四人組GOF進行提出來的,不能說明設計模式就完全只有這23種,很多設計模式會有很多不同的變種等,但是掌握這23種就足夠了。
????????4.設計模式并不會局限于語言,每種語言都會有自己的設計模式,設計模式是思想,并不是某個語言獨有的特性或者一種技術。