如果引用或轉貼,麻煩註明出處與本網誌連結,否則視為侵權。

2005年7月14日

應用系統該如何選擇使用哪些J2EE Design Pattern?

應用系統該如何選擇使用哪些J2EE Design Pattern?

Fred Wang(http://fredwang.blogspot.com)

方法如下 :
1.依照樣式(Pattern)的目的加以分類
例如Presentation Tier的樣式可以加以分類如下:
. Intercepting Filter, Front Controller, Context Object and Application Controller: 用來處理需求, 或將需求轉交商業服務來處理。都是處理需求但是實際應用上略有差異。
. View Helper, Composite View : 都是用來將回應或需求處理的結果加以呈現
. Service to Worker, Dispatcher View : 從需求處理, 商業邏輯呼叫及View的呈現的架構

2. 了解每一種樣式要解決的問題與適用範圍
例如Service Activator專門用於非同步服務的呼叫。Session Facade用於使用EJB提供遠端商業服務的狀況。

3. 閱讀每個樣式的描述, 解決方案。特別要了解其Class Diagram and Sequence Diagram。

4. 找出樣式間的關係
例如 : Session Facade, Application Service與Business Objects間的關係, Front Controller, Context Object與Application Controller間的關係。

5. 系統可變因素是甚麼? 在不需重新設計下如何讓系統有更高的可擴充性:
例如 : 設計的樣式是否考慮不同的網路協定, 使用端的環境, 是否支援不同的資料庫。簡單而言, 您的系統可否增加Rich Client, Mobile Client, 是否可以增加另一種資料庫的存取。

6. 與第5點相反的就是訂出什麼狀況會造成系統要重新設計 :
例如 : 商業處理由POJOs提供服務, 增加EJB的遠端商業服務時, 系統是否要重新設計? 增加一種後端系統(Backend)存取需求時,系統是否要重新設計? (只要增加處理的元件而既有的元件仍可再用)

參考 : Craig A. Berry, John Carnell..etc, "J2EE Design Patterns Applied"

沒有留言:

張貼留言

歡迎提供意見, 謝謝 (註 : 留言經過版主審核通過才會發布)