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