1. 程式人生 > >設計模式備忘錄:設計原則

設計模式備忘錄:設計原則

設計模式學習了很久,一直有種找不到門路的感覺。直到看了《Java設計模式》,慢慢有種“原來如此”的感受。

之前是直接看GOF的設計模式,大師很厲害,就是不肯收徒。

GOF中對每種設計模式都有意圖和適用性,之前學習都是死記這塊,但是到了實際應用時,好像還是缺了點什麼,就是用不起來。

《Java設計模式》可以說目前看計算機類書籍中本國人寫的唯一看的過去(可以說是神作了!),解釋了設計原則之上的OO設計原則。於是開始思考“為什麼要使用設計模式”,“這種設計模式符合什麼設計原則?”,“該設計模式如何實現大師們所說的設計原則‘適用性’”,於是一些大門就開始敞開。

記錄一些自己的思考,備忘:
1封裝並提供介面:將一塊有著特定目的的邏輯封裝在一個類中,並將介面提供給需要的client,可以實現client與該邏輯的獨立性,實現解耦(抽象工廠)。

2解耦方式:依賴反轉原則(抽象耦合),demeter原則(代理模式)

3抽象耦合:實現產品的可配置(通過擴充套件)性

 4結構型設計模式的本質就是複用,因此有繼承複用(類)和合成複用(物件)兩種:針對現有物件的複用

5行為性設計模式的3種模式

a、將行為封裝在一個物件中並將請求指派給它

b、行為物件模式:通過複合建立物件之間的關係,通過封裝邏輯實現物件協作。

c、暫不明白:行為類模式使用繼承機制在類間分配行為。