Web用戶端軟體工廠是Microsoft Patterns & Practices Team開發的項目,目的是為了協助使用者使用Microsoft平台建立高品質的企業級應用。這個項目提供了可以擴充和自訂的架構,通過提供Software Factory來協助使用者開發基於Web的解決方案,解決最常見和最重要的一些技術問題。
WCSF解決的典型問題:
1. 如何組織解決方案
2. 如何測試Web應用程式(主要是單元測試)
3. 如何管理不同的環境(開發、測試、產品環境等)
4. 如何隱藏技術的複雜度
5. 如何與各種不同後台系統的整合
6. 如何構建容易troubleshoot的應用
7. 如何增加security, availability, reliability
WCSF提供的組件:
1. Application Blocks (Enterprise Library blocks and others)
2. Patterns
3. Hands-On-Labs
4. Visual Studio Automation (templates, wizards, etc)
5. Architecture Documentation
6. Sample applications based on all of the above
值得一提的是,WCSF結合了Microsoft平台的多種技術,包括ASP.NET 2.0,Atlas,Microsoft Workflow Foundations(PageFlow),SharePoint等等。可以看到WCSF已經覆蓋了從用戶端到伺服器端的整套的解決方案。
Patterns for Web Client Applications
The factory documentation introduces the following patterns that provide solutions to common web client design, implementation, or deployment challenges:
1) View-Presenter (VP)
2) Dependency Injection
3) Service Locator
4) Application Controller
Customizing the Web Client Software Factory
參考連結
patterns & practices - Web Client Software Factory - Home at codeplex WCSF Can be download
patterns & practices - Web Client Software Factory - Home at MSDN WCSF Can be download
Guidance Automation Extensions and Guidance Automation Toolkit GAX & GAT Can be download.
Presentation: Vision & Scope of Web Client Software Factory
[MSDN]Software Factoies
Mobile Client Software Factory
Smart Client Software Factory
Web Client Software Factory
Web Service Software Factory
WCSF的安裝步驟
1) Install VS.NET 2005 (注意C#,VB安裝選項都要選中,不然WCSF在建立Solution的時候會報錯)
2) Install the Guidance Automation Extensions.
3) Install the Guidance Automation Toolkit.
4) Install .NET Framework 3.0 and Windows Workflow Foundation.
5) Install the Web Client Software Factory.
Model View Presenter
http://c2.com/cgi/wiki?ModelViewPresenter
MVC vs. MVP
Martin Fowler's soon-to-be-published overview of MVP
MVP vs MVC 對兩者的不同解釋得比較清楚
[MSDN]設計模式:Model View Presenter 可以結合其中提供的Sample深入瞭解MVP Pattern
[CodeProject]Model View Presenter with ASP.NET 有Sample提供參考