(原文出處:http://www.infoq.com/cn/news/2008/05/PRISM)
複雜的客戶端應用程序包含了很多需要從各種組件構建而來的圖形界面,這些界面也許會被獨立的團隊進行開發,並像一個龐大的謎題一樣組合在一起。這樣的應用程序具有所謂的“Composite UI”。這樣的應用程序由構建塊或模塊組成,這些模塊被獨立開發,並且它們能協同工作並能儘可能不能影響的組合成一個應用程序。用於那樣目標的一個解決方案或框架,對於構架師和開發人員是很有幫助的。
微軟在過去一段時間裏,創建了幾個這樣的解決方案,如 Composite UI Application Block(CAB):
它提供了一些被證明是成功的實踐,來創建基於例如Composite模式這樣的知名設計模式的複雜智能客戶端用戶界面,在其中,簡單的用戶界面部件能被組合一起創建一個複雜的解決方案,但同時也允許這些部件能被獨立地開發、測試和部署。
另外一個微軟的解決方案是 Smart Client Software Factory:
Smart Client Software Factory提供了一個一系列完整的嚮導,來輔助構架師和開發人員創建複合智能客戶端應用程序。
另外的解決方案有針對Windows Mobile平臺的 Mobile Client Software Factory,針對Web的 Web Client Software Factory。
PRISM代表了PResentation Integration SysteM,它也是一個由微軟支持的針對WPF的項目,其託管在CodePlex上。據一個微軟技術產品計劃師,Glenn Block所說,PRISM將提供如下優點:
- 爲WPF提供完整的支持
- 動態組合用戶界面組件
- 應用程序模塊能被獨立的團隊開發、測試和部署
- 允許逐步採用其中的一些功能
- 提供完整的用戶體驗
目前,PRISM包含了一個參考實現,一些可重用的函數庫和模式嚮導”,但是這個計劃是開發一個能支撐複合應用程序開發的框架。最新的版本已於2008年4月15日發佈了,它還是一個開發中的項目。當前的源代碼依賴於Castle Windsor,但最終版本可能不能再依賴它。
原文出處:http://www.infoq.com/cn/news/2008/05/PRISM