模式與XP
Joshua Kerievsky著, 譯
部分摘錄.
1.模式和極端程式設計(XP)都為軟體設計、開發者提供了無法用金錢衡量的幫助。但是迄今為止XP大量關注於重構(refactoring),而對模式隻字不提。在這篇文章中,我問''為什麼'',並且最終描述出模式怎樣以XP的方式更好地實現、以及XP怎樣因為包含對模式的使用而變得更好.
2.仍在所知不多的時候我們就開始了自己的程式設計生涯,生產出的軟體也反映出了我們的缺乏經驗:我們建立的程式碼臃腫、錯誤百出、脆弱、難以維護、難以擴充套件。隨著時間的流逝,我們成為了更好的軟體設計者:我們從技術作家、專家那裡學習,我們從自己的錯誤中學習。現在我們編寫具有高度靈活性的軟體,它適應廣泛而且堅固。當被請求編寫一個新的系統時,我們知道查明當前和將來的需求,這樣我們可以設計軟體來處理當前和將來的需要。
在軟體開發生涯的這個階段,極端程式設計告訴我們,我們經常對軟體過分設計(over-engineer)了。我們從自己的錯誤中學到了太多,我們不希望重複這些錯誤,所以我們在系統生命週期的早期做了大量的努力來創造靈活而堅固的設計。不幸的是,我們沒有認識到:如果這個系統永遠不需要這個程度的靈活性和堅固性,那麼我們所有的工作就都沒有意義了。我們過分設計了。
我也曾經過分設計過。說實話,與其他設計者坐在一間房間裡考慮如何設計軟體來適應許多當前和將來的需求,這的確是一種樂趣。我們把自己學到的所有東西 --- --- 尤其是那些最好的經驗 --- --- 應用在設計中。我們常常知道需求的列表會改變,但使用者或客戶總是改變需求。不過,我們認為我們可以足夠聰明地設計軟體,使軟體足夠靈活,使它能應付所有的需求變化。
典型的過分設計。
今天,極端程式設計將告訴你這是多麼愚蠢的做法。XP說,我們必須讓設計自己顯現出來,而不是去預測設計將是什麼樣子。XP說,''做可能起作用的最簡單的事'',因為''你將不再需要它''。另外,Kent Beck說:
你需要在一個強調溝通、簡單、反饋和勇氣的價值系統中選擇最好的工作方法,這樣你才能勇敢的脫離過分設計。[Beck1 00]
3.模式的實現有簡單的也有複雜的。訣竅是:發現模式針對的問題,將這個問題與你當前的問題進行比較,然後將這個模式最簡單的實現(解決方案)與你的問題進行比較。當你這樣做時,你就不會在可以使用小規模解決方案的時候使用大規模解決方案。你獲得瞭解決問題最好的平衡。
4.這就是我們需要的觀點:重構的目標。這就是重構和模式之間的橋樑。它完美的描述了我自己在如何使用模式方面的進步:從簡單開始,考慮模式但將它們保持在次要地位,小規模重構,只有在真正需要模式的時候才把重構轉移為模式
5.當程式設計師需要做出設計決策時,很重要的一件事就是:他們應該試圖保持設計簡單,因為簡單的設計通常比龐大而複雜的設計更容易維護和擴充套件。我們已經知道,重構意味著將我們保持在簡單的路上:它鼓勵我們以小而簡單步驟逐漸改進我們的設計,並避免過分設計。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6906/viewspace-21736/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 設計模式與XP設計模式
- win xp安全模式解析(轉)模式
- windows xp系統啟動模式介紹Windows模式
- win7中虛擬xp模式存在缺陷Win7模式
- Windows XP與Vista同一分割槽且XP不中毒Windows
- XP怎麼禁用F8不讓進安全模式模式
- 在SATA模式下安裝windows xp的方法(非GHOST)模式Windows
- 成績單:Windows 7 - XP模式成績不及格Windows模式
- Windows XP 系統八種啟動模式詳解(轉)Windows模式
- 無需進入XP安全模式 巧妙替換檔案(轉)模式
- win10怎麼用xp相容模式_windows10相容性怎麼設定xp/win7Win10模式WindowsWin7
- win10 64位相容模式找不到xp怎麼設定_win10 64位相容模式沒有xp如何恢復Win10模式
- Ubuntu 8.04與XP SP3效能大比拼Ubuntu
- 硬碟工作原理與XP作業系統安裝硬碟作業系統
- win10怎麼共享給xp_win10與xp區域網共享怎麼設定Win10
- 策略模式與模板方法模式模式
- 微軟突遭調查或與XP系統有關微軟
- 讓Windows 98 與Windows XP 實現互相訪問(轉)Windows
- 委派模式與策略模式記錄模式
- Windows XP EmbeddedWindows
- Windws XP Mode
- xp 修改DNSDNS
- 實踐XP
- xp2600 Corp Edition安裝心得與交流(轉)
- Rust -- 模式與匹配Rust模式
- if else與策略模式模式
- 代理模式與Binder模式
- 重構與模式模式
- 三種工廠模式與策略模式模式
- Proxy模式與Decorator模式的區別模式
- Memento模式與Prototype模式結合模式
- 組合模式(Composite)的安全模式與透明模式模式
- 重構與模式(二)——釋出訂閱模式與中介者模式實際使用模式
- Windows XP 正版驗證補丁 XP OEM免啟用Windows
- “破解”XP密碼密碼
- windows Xp 也支援/Windows
- 建立型模式之單例模式與工廠模式(一)模式單例
- 策略模式、策略模式與Spring的碰撞模式Spring