設計模式是爲了讓咱們開發出具備更好的靈活性和可擴展性,也更易於複用的軟件系統。設計模式
模式並不能替代人來完成軟件系統的創造,他們只不過會給那些缺少經驗但卻具有才能和創造力的人帶來但願。學習
設計模式的組成要素:設計
#問題對象
描述了應該在什麼時候使用模式,它包含了設計中存在的問題以及問題存在的緣由開發
#解決方案效率
描述了一個設計模式的組成成分,以及這些組成成分之間的相互關係,各自的職責和協做方式擴展
#效果軟件
描述了模式的優缺點以及在使用模式時應權衡的問題經驗
23種GOF設計模式:5種建立型,7種結構型,11種行爲型生活
#建立型
如何建立對象
#結構型
如何實現類或對象的組合
#行爲型
類和對象怎樣交互以及怎樣分配職責
設計模式的優勢
#提升開發和設計效率
#使得設計方案更加通俗易懂
#設計模式兼顧了系統的可重用性和可擴展性,提升系統的靈活性
#有助於別人更快的理解系統
#更加深刻的理解面向對象思想
學習的過程當中要注意
#這個設計模式的意圖是什麼,它要解決一個什麼問題,何時能夠使用它
#它是如何解決的,掌握它的結構圖,記住它的關鍵代碼
#可以想到至少兩個它的應用實例,一個生活中的,一個軟件中的
#優缺點是什麼,在使用的時候要注意什麼