快捷搜索:

【Silverlight MVVM+MEF框架Jounce】1、Why?

英文原文:http://csharperimage.jeremylikness.com/2010/10/jounce-part-1-why.html

【译者注:由于我英文不好,并且懒,以是我不会原文一字不差的翻译原文,只图达意吧。其实看不下去的对比英文吧:)】

Jounce是一个使用MEF和MVVM创建Silverlight利用法度榜样的框架。

原由

我用Silverlight开拓企业利用,是从2.0开始。有些利用必要很强的可扩展性,必要方便的添加视图和模块。无意偶尔必要很强的模块化,例如动态加载和压缩dll到客户浏览器。我发明MVVM和MEF是很好的对象,可以方便做单元测试和团队分工相助。我发明每次都从头创建新利用是在挥霍光阴,我必要自力出一套框架可以利用到新的义务中。这个框架被命名为Jounce。类似于大年夜多半的MVVM框架,她供给了messaging services and notify property changed handlers,不合的是她使用了MEF。

为什么要用Jounce?

宣布Jounce更多的是为了供给一种专门用于办理Silverlight领域的MVVM问题的措施,而不是为了办理所有平台(Silverlight、WPF和Windows phone 7)的问题。在专门的领域成功办理领域问题是我一直的原则。你可以下载整个源代码涉猎并弄明白Jounce是怎么事情的,由于她异常轻量级,只有不到1000行代码。你也可以改动并用到自己的框架中,由于没有一个框架可以办理所有问题。Jounce远比Prism来得轻量,功能上可能没有Prism来的强大年夜,例如区域治理模式。只由于很多功能对我用场不大年夜,例如Calburn和Caliburn Mico供给的自动数据绑定,我宁愿应用显式的试图模型绑定。

Jounce的设计原则

App.xaml.cs中的代码很烦人可以不要,应用更优雅的IApplicationService

履行跟踪很紧张,只管Silverlight没有供给原生的trace支持

Commands应该很轻易触发和应用,在你必要他们的时刻

快速地发送和接管消息,而不用担心必须要把消息封装到UI线程上

View models同步view state,可以在view state改变时改变试图的状态,而不用引用View工具

标记view和view model应该是简单机动的

view和view model的绑定应该是简单的,他们应该很轻易发明对方

假如我导航到一个View,我不应该担心这个View是否位于另一个动态加载的Xap文件中

Navigation应该是一个简单的事故

若何开始?

下载地址:http://jounce.codeplex.com/

文档:http://jounce.codeplex.com/documentation?referringTitle=Home

快速开始Demos:http://jounce.codeplex.com/releases/view/53423

您可能还会对下面的文章感兴趣: