locked
目前Silverlight开发的一般模式为Prism+MVVM+WCF RIA Service+Entity Framework吗? RRS feed

  • 问题

  • 刚开始接触Silverlight,我想知道是否可以按这个路子学习。

    Prism+MVVM可能是应用在一些需要Modularity, Scalability的所谓Large-Scale app上。看了一些这方面的教学视频。MEF据说是.net 4/SL 4的一个组件。目前这方面有点疑惑的是MEF是否是一个可以在Prism框架里能够替代Unity的角色。将来的Prism 4是否会默认使用MEF来作为DI Container?

    简单讲就是我如果按关键字为Prism, MVVM, MEF, WCF RIA Service, Entity Framework来作为学习Silverlight的关注点是否合理,还有没有落下的关键学习点?

    2010年7月28日 3:39

答案

  • PRISM框架用于Silverlight应用开发有点太大了,大大降低了开发效率,提高了开发成本,另外也增加了维护的复杂度。

    Silverlight项目中应用MVVM模型即可。

    如果你是新手学习Silverlight,推荐从你的需求开始学起,例如你做企业应用,可以从RIA开始学习,如果你是游戏开发可以从动画开始,不一定非要从框架学起。

    2010年8月3日 15:25

全部回复

  • 至少我就是这样做的,不过我暂时没有使用Prism,Prism现在在Silverlight上的实现不是很好,等Prism 4。
    人活着就要有他自己的意义,否则他就和死了没什么两样!!
    2010年7月28日 4:10
  • 谢谢Tiscs回复。我自己刚刚自认为又找到一个关键词,就是Unit Testing. 目前我对Unit Testing一无所知。但SL项目本身默认就有个.Test项目,而且我不止一次听说过MVVM的一个重要目的就是提高testability,甚至有人说如果项目不需要Unit Testing,那就要考虑有没有必要用到MVVM了,

     

    2010年7月29日 0:56
  • 你好,

         不好意思,我没有找到太多的中文信息,这里有篇英文的。

         http://www.silverlightshow.net/items/Data-Driven-Applications-with-MVVM-Part-II.-Messaging-Unit-Testing-and-Live-Data-Sources.aspx

    2010年7月30日 4:02
  • PRISM框架用于Silverlight应用开发有点太大了,大大降低了开发效率,提高了开发成本,另外也增加了维护的复杂度。

    Silverlight项目中应用MVVM模型即可。

    如果你是新手学习Silverlight,推荐从你的需求开始学起,例如你做企业应用,可以从RIA开始学习,如果你是游戏开发可以从动画开始,不一定非要从框架学起。

    2010年8月3日 15:25
  • 谢谢jv9回复,我倒真是从框架开始接触Silverlight的,先是MVVM方面看了不少视频教程,然后注意到有个Prism框架,之后是Unity. 这个顺序看来对我来讲看来已经无法改变了:-) 因为已经是过去式了,呵呵。

    前二天才开始接触RIA Service。

    对于Prism,我倒并没觉得它有多么庞大,脑子里第一个画面就是个Shell,上面有几个Region,程序可以动态地把Module的View inject进这些Region里。Prism最吸引我的是一个已经运行的一年的程序,一年后可以有另外一个(或多个)模块在不影响程序运行的情况下,动态加入到这个程序,而且还可以与已有的模块进行交互这么一个感觉。

    除了RIA+EF的CRUD,Validation等等基本功还没熟练以外,最近我对MEF越来越感兴趣了。好像你怎么也无法忽视它的存在那种感觉。。。

     

    2010年8月3日 17:29
  • "将来的Prism 4是否会默认使用MEF来作为DI Container?"

    回答一下你的问题,http://www.infoq.com/cn/news/2010/11/prism4-wp7中说到,确实用MEF代替了Unity了。

     

     


    Once in a Redmoon
    2010年11月18日 6:53
  • 实际上不能说MEF代替了Unity。Prism 4帮助文档里Unity和MEF两种例子都有。有些是Unity能做,MEF不能做到的,反之亦然。

    MEF的好玩之处在于它是微软出的东东,而Unity是第三方的DI。

     

    2010年12月9日 2:53