【发布时间】:2010-12-03 15:38:37
【问题描述】:
我正在尝试了解 Silverlight 中的 MVVM - 主要是在我如何将其融入现有架构的背景下 - 或者更确切地说,我如何将现有架构合并到其中。
我目前拥有的架构基本上是传统的 n 层,其顶部有一个服务层。我在 WCF 中有一个服务层、一个业务逻辑程序集和一个包含业务实体(实体框架)的程序集。
WCF 中的服务层非常简单,它只是暴露了业务逻辑层,需要进行一些更改以使其与 Silverlight 更兼容。业务实体组件被服务层和逻辑层引用,因此它们都使用相同的实体,并且任何使用服务的东西也都知道这些实体。
一切都很美好。
随之而来的是 Silverlight 和 MVVM。 View 部分很简单,这就是所有 ui 的东西。 ViewModel 和 Model 是我感兴趣的地方。在我看来,Model 是我的业务实体组件,ViewModel 是我的业务逻辑组件。
如果 Silverlight 使用我的 WCF 服务,那么这个和耦合的业务逻辑层肯定是我的 ViewModel。现在我有两个问题; 1/ ViewModel 对象需要存在于我的 Silverlight 项目中。 2/ WCF 服务公开的类型(业务实体)与 Silverlight 不兼容,因为程序集不适用于 Silverlight。当我尝试将程序集添加为参考时,提示此效果的异常。
那么...我如何使用我的业务实体作为我的模型?另外 - 如何在我的 ViewModel 中使用其他 .Net 类型,例如 System.ServiceProcess.ServiceController?
【问题讨论】:
标签: wcf mvvm silverlight-4.0 entity-framework-4