備註
: 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 第二 在開發階段,子系統因為不斷的重構演化而變得越來越複雜,增加外觀可以提供...