2010-01-08 41 views
2

當我發現MVC(首先使用ASP.NET MVC)時,我認爲這是軟件範例的聖盃。Silverlight中的MVC

我最近開始涉足Silverlight,並注意到VS項目的開始頁面類似於Forms(Web和Win),代碼隱藏在後面,而.xaml作爲設計。

Silverlight中是否存在與MVC等效的內容(用於Web和桌面應用程序)?由Microsoft(如ASP.NET MVC)支持的資源和幫助豐富嗎?

發現MVC後,我看不到自己返回代碼隱藏。對於Silverlight來說,這是一個天真的想法,因爲它不同於ASP.NET,並且無法輕鬆實現MVC?

回答

4

Silverlight與WPF非常接近,其中MVVM design pattern非常適合。不幸的是,SL的當前版本並不完全支持MVVM,因爲它缺少某些類型(例如ICommand,IIRC),但對於Silverlight 4,應該完全支持MVVM。

+0

其實SL3支持ICommand(但沒有任何具體的實現) – 2010-01-11 08:30:28

+0

我糾正了。不過,在PDC09,我有一個印象,那就是它還沒有。至少他們說:「SL 4將有ICommand支持」... – 2010-01-11 08:33:11

2

Silverlight沒有Microsoft支持的MVC框架。但是,無論如何,MVC並不是Silverlight應用程序的自然架構。 Silverlight和WPF的隱含體系結構是模型 - 視圖 - 視圖模型(MVVM),並且這在Silverlight中通過數據綁定基礎結構直接支持。在MVVM中,不是讓控制器與解耦視圖交談,而是創建視圖模型封裝數據和行爲的類,並且視圖使用數據綁定從它們中實現。

最接近微軟對Silverlight和WPF MVVM開發的框架是Prism。這遠不是一個完整的解決方案,但您可以使用其他第三方工具包(如Josh Smith的MVVM Foundation)進行補充。

+0

棱鏡+1(15個字符) – 2010-01-11 08:29:31