設計模式培訓有感

第一:思維決定方式。

在GOF提及的23種設計模式中,有多種設計模式最後編寫出來的代碼非常相似,爲什麼它們又被歸類爲不同的設計模式呢?由於它們各自面對的問題不同,要解決的思考出發點不同,雖然最後採取的形式是相似的。


第二:多問問why,而不僅僅侷限於how。

多想想爲何就那樣,非它不可,而不是應該怎樣。


第三:面向對象的典型思維特徵:多態、繼承、重載、組合、封裝。

設計模式都是迎合這些目標,貫徹這些思維特徵,也能演化出自己的設計模式。


第四:學習把"行爲"抽象成對象。

對象不僅僅是簡單的實體,也可把某一類行爲抽象成爲一個對象。


第五:敢於把一個大的對象作爲參數傳遞。

在某些情況下,傳遞一個大的對象要比傳遞幾個簡單的參數更有效。


第六:設計模式不是極端的方案,而是在性能和複用可擴展之間做了一個折衷的權衡。

在某些情況下設計模式未必就是最好的方案,但設計模式應該是一個權衡得最好的方案。

        很多時候並不是我們面對一個簡單的場景去試圖套某個模式,而是當我們用簡單方法解決不了時,訴諸於設計模式。


今天具體學習了一下三種設計模式:

策略模式:解決扁平化的問題;

裝飾模式:修飾已有功能;

訪問者模式:訪問者與被訪問者分工配合,解耦解決某個問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章