設計模式學習筆記 八 重構與模式,參考書籍

2021-05-04 20:36:57 字數 1474 閱讀 8778

備註

: 1.

模式常常組合使用,共同解決問題。 2.

模式是特定場景下優雅的解決方案,因此場景很關鍵。在軟體設計中,特定的場景可能是顯而易見的,可能是隱而不現的,有時甚至是設計者有意創造的。因此使用模式時,對問題的分析至關重要。 3.

模式的使用是有先後之分的。 4.

dp書中所給的結構圖僅僅是模式可能的實現方式之一,但不是唯一。實現乙個模式往往有多種途徑。 5.

模式本身是比較複雜的。純粹的為了模式而模式,並不會改善設計,相反會引入不必要的複雜性。之所以使用模式,是因為它提供了一種優雅的解決方案 6.

有些模式,比如行為型的模式等,常常在設計初期就引入,但是更多的模式則不宜過早的引入。

「refactoring to patterns」

是目前普遍公認的最好的使用設計模式的方法。 7.

模式和語言無關 8.

使用模式不難,用好模式難

.唯一的建議

: 多程式設計。

很多模式並非作為主模式被引入系統設計的,往往是在系統不斷進化的過程中,根據需求而引入。模式的引入過程就是系統的乙個組合重構過程 。進化的系統需要持續重構,因此重構就成了使用模式的乙個很好的途徑。

重構的目標:消除重複**;消除冗餘**;簡化**邏輯。 本質上,重構就是為了提高**的可讀性和可維護性 等。

重構往往需要測試驅動開發的支援。沒有測試**重構很難進行,測試**是保證重構不破壞**原有行為的必要條件。

重構過程不宜採取過大的步驟。採取盡可能小的重構步驟, 在不破壞**行為的前提下,盡量使重構的**在可編譯狀態下進行**的增刪和替換。小步驟的重構往往就是最快的重構方式。

模式導向的重構是把重構和模式使用結合在一起的乙個途徑。

設計模式

1995

設計模式精解(

2nd )

2006

敏捷軟體開發

2003

refactoring to patterns(

中文:

重構與模式

)  2006

head first design patterns      elisabeth freeman, eric freeman 2007

推薦書籍:

測試驅動開發

(tdd)     kent beck 重構

martin fowler

extreme programming explained              kent beck

object-oriented software construction          bertrand meyer

uml distilled(

有中文版

)                     martin fowler

大部分寫於:

2007-02-05

~06

完成於2007-03-30

修改於:

2009-09-05

設計模式學習(六) 重構與模式,推薦書籍(完)

備註 1.模式常常組合使用,共同解決問題。2.模式是特定場景下優雅的解決方案,因此場景很關鍵。在軟體設計中,特定的場景可能是顯而易見的,可能是隱而不現的,有時甚至是設計者有意創造的。因此使用模式時,對問題的分析至關重要。3.模式的使用是有先後之分的。4.dp書中所給的結構圖僅僅是模式可能的實現方式之...

glest學習筆記2 重構

目前重構過程工作目錄 0.00 original 0.00 2 original.fps 0.02 move.render.renderunits.to.world.renderunits 0.04 harvest 0.06 firstattackcommand 0.08 2ccrepair.has...

設計模式筆記(八) 外觀模式

外觀模式 facade 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這個子系統更加容易使用。使用場合 第一 在設計初期階段,應該有意識的將不同的兩個層分離,層與層之間建立外觀 facade 第二 在開發階段,子系統因為不斷的重構演化而變得越來越複雜,增加外觀可以提供...