第3章 Web表示模式
沒有一個設計政策能夠适合所有情形。這是因為軟體設計存在如下競争性需求:消除過多的備援和過度的複雜性。
Model-View-Controller 是一個用于将使用者界面邏輯與業務邏輯分離開來的基礎設計模式。
如果在系統的不同視圖内複制公共邏輯,則需要集中此邏輯才能減少代碼重複量。删除重複的代碼是改進系統的總體可維護性的關鍵。
資料檢索最好也集中在一個位置進行處理。一個好的示例是,讓一系列視圖使用資料庫中的相同資料。與讓每個視圖檢索資料并重複資料庫通路代碼相比,在一個位置實作對此資料的檢索是更好的做法。
測試使用者界面代碼往往是耗時而乏味的。通過區分單各自的角色,可以提高總體可測試性。這不僅适用于模型代碼,而且适用于控制器代碼。
第4章 部署模式
在建構企業類解決方案時,不僅涉及到開發自定義軟體,而且還涉及到将該軟體部署到生産伺服器環境中。這是軟體開發工作與系統基礎結構工作的交叉點。
除非公司文化認為應用程式和系統基礎結構觀點同等重要,否則應用程式開發團隊和系統基礎結構團隊之間的溝通将不會産生最優的部署規劃。兩個團隊必須很靈活,并願意達成妥協以使雙方都能實作其要求。