我必须在 Silverlight2 中构建小型(目前)管理应用程序,并希望使用一些模式将 UI 与我的 BL/DAL 绑定。
我找到了视图-模型-视图模型和 mvp/mvc 模式,其中第一个 (V/M/VM) 特别适用于 WPF 应用程序,因为它使用了 WPF 数据绑定选项的丰富功能。你有什么建议?你能为 SL2 编写 V/M/VM 的简单示例吗?
Nikhil Kothari在Silverlight的M-V-VM上提供了一组很棒的示例(带有代码),以及一个用一些非常好的额外功能构建的框架。你绝对应该检查一下。Silverlight 中的 M-V-VM
Microsoft的模式和实践小组整理了一些关于WPF和Silverlight应用程序的指导。
您可能想查看 Silverlight 的 CSLA.NET。我听说过关于它的好事,但还没有来得及自己尝试。
CSLA .NET for Silverlight 是一个子集 的 CSLA .NET 针对 银光平台。CSLA .NET for Silverlight提供了几乎所有的 CSLA .NET 在 Silverlight 上的优势, 包括数据绑定、验证、 业务规则, 授权, n 级 撤消和持久性。
结果是 CSLA .NET 对于 Silverlight支持创建 丰富的面向对象业务层 在 Silverlight 客户端上运行, 可以透明地沟通 在 Web 和应用程序服务器。
Silverlight也有非常强大的数据绑定,所以没有问题。
Silverlight 中缺少的对模型-视图-视图模型模式影响更大的部分是它不实现像 WPF 这样的命令。下面是 Josh Smith 的一篇文章,它重现了 Silverlight 中 WPF 的命令模式。
Wildermuth.com 的Shawn Wildermuth写了一篇关于MV-VM模式的文章,看看吧,这里是文章"Model-View-ViewModel In Silverlight 2 Apps"的链接。
挪威开发人员 Gjøran 在 MSDN Live 上做了一个非常好的演示/演示,介绍如何在 WPF 中编写业务应用程序。实际上,它是关于将Presentation Model与Silverlight/WPF一起使用的。在他的博客上查看本文的源代码(抱歉,幻灯片只有挪威语)。演示模型 + 银光 2 块岩石!!