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

2021-09-06 01:59:37 字數 1469 閱讀 3946

備註:

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

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

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

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

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

6.        有些模式,比如行為型的模式等,常常在設計初期就引入,但是更多的模式則不宜過早的引入。「refactoring to patterns」是目前普遍公認的最好的使用設計模式的方法。

7.        模式和語言無關

8.        使用模式不難,用好模式難.唯一的建議: 多程式設計。

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

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

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

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

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

設計模式                    1995

設計模式精解(2nd)   2006

敏捷軟體開發              2003

refactoringto patterns(中文: 重構與模式)  2006

headfirst design patterns     elisabethfreeman, eric freeman 2007

推薦書籍:

測試驅動開發(tdd)     kent beck

重構                  martin fowler

extreme programming explained             kent beck

object-orientedsoftware construction         bertrand meyer

umldistilled(有中文版)                   martin fowler

大部分寫於:2007-02-05~06

完成於2007-03-30

修改於:2009-09-05

兄弟的公司:立即購--手機購物,誠信網購

兄弟的公司:立即團

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

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

設計模式學習(六)命令模式

將 請求 封裝成物件,以便使用不同的請求 佇列或者日誌來引數化其他物件。命令模式也支援可撤銷的操作。設計遙控器,分別裝有7組 開 與 關 按鈕來控制多個裝置,還需要支援整體的撤銷功能。1.首先,我們需要實現命令的介面 public inte ce command2.分別實現開燈 關燈 開關電風扇等命...

敏捷開發 重構與設計模式

最近,同事 朋友跟我聊天的過程中,提到了設計模式方方面面的問題。隨著物件導向 敏捷開發的深入人心,越來越多的程式設計師希望能夠借助設計模式,使自己的 更利於重用 更利於被人理解 可靠性更 不同的情況下需要用什麼樣的模式,如何實現這些模式,在各類著作中已經介紹的相當清晰了,但是關於設計模式實現的時機,...