Silverlight 5 MVVM最佳实践
鉴于MVVM是如何被高度评价为一个好的系统设计模式,我想我可以跳上去给MVVM一个机会 在我开始提问之前,先了解一下我自己的背景: 我用ASP.NET Webforms进行了几年的开发。我也在ASP.NET MVC中做了一些开发,我对此感到非常满意 目前,我们有许多使用ASP.NET MVC 3编写的“主干”应用程序,我们可以随时定制这些应用程序并将其出售给我们的客户。这些应用程序都是供内部使用的,因此插件不会有太大问题 开发的真正问题是,对于具有复杂业务规则的大型业务应用程序,ASP.NET MVC往往会使我们的速度变慢(编写jQuery/javascript>服务器端处理>返回结果,使用jQuery通知>更改视图,类似于此) 然后我开始寻找有助于我们提高交付时间和响应能力的答案(我们都知道JavaScript是如何杀死我们的),我的搜索将我带到了Silverlight(我们有时间改变,不用担心) 所以问题来了:Silverlight 5 MVVM最佳实践,silverlight,mvvm,silverlight-5.0,Silverlight,Mvvm,Silverlight 5.0,鉴于MVVM是如何被高度评价为一个好的系统设计模式,我想我可以跳上去给MVVM一个机会 在我开始提问之前,先了解一下我自己的背景: 我用ASP.NET Webforms进行了几年的开发。我也在ASP.NET MVC中做了一些开发,我对此感到非常满意 目前,我们有许多使用ASP.NET MVC 3编写的“主干”应用程序,我们可以随时定制这些应用程序并将其出售给我们的客户。这些应用程序都是供内部使用的,因此插件不会有太大问题 开发的真正问题是,对于具有复杂业务规则的大型业务应用程序,ASP.NET
我对你的所有答案都没有答案(从未使用过MEF),但我可以告诉你我的经验: 1-我一直在开发一个相当大的silverlight应用程序,MVVM非常适合拥有一个可维护的应用程序。由于应用程序的大小,我们遇到的更大问题是Silverlight,而不是MVVM 8-) 2-我没有太多地使用它,但它在很多情况下都很有用。有几个工具包可以将DI与Silverlight(如MVVM Light Toolkit)一起使用: 4-对于UI之间的交互,可以使用中介模式。同一个MVVM Light Toolkit有一个Messenger,用于订阅、发送和接收消息,并维护每个分离的层
希望这对您有所帮助;-) 要添加到上一个答案中:
1.你介意分享你在这方面的经验吗?是因为.xap的文件大小吗?你有没有遇到任何并发症?2.这就是我觉得奇怪的原因。正如您所说,您没有在MVVM中使用多少DI。我可以知道为什么吗?是因为没有必要进一步解耦吗?4.我会调查的。感谢您的反馈。xap的大小现在约为6Mb,因此根本不是问题(以前它更大,因为我们包含的资源比需要的多…)。我们遇到的更大的问题是报告。只有当你想成为“真正的MVVM”时才需要DI,我不需要那么多的解耦。4-MVVM Light也有一个EventToCommand包装器来解决这类问题,这也是一个纯XAML解决方案。@jv42嗯,所有这些对我来说都是新的。我需要一些时间来消化。我一直在Caliburn.micro上查看。与MVVM Light相比,开发复杂性如何?@Jon我只使用过MVVM Light,它使用起来相当简单。我认为Caliburn.micro应该是类似的,而Prism更重。谢谢你的回复。这可能有点离题,但在过去的两天里,我一直在查看Caliburn.micro,它似乎很容易设置和运行。Caliburn.micro与Prism有多大不同(在开发复杂性方面)?对于新手团队,你会推荐Prism而不是Cliburn.micro吗?对不起,我没有Caliburn micro的经验。谢谢。我会检查每一个,看看哪一个最适合我们的团队。干杯