1

我目前正在编写一个中/大型 silverlight 应用程序。

我目前的架构如下。

在服务器端,我有使用实体框架 ORM 从现有数据库创建的实体对象。

我有 WCF 服务,其方法将代表我的实体对象的 Datacontracts 传递回客户端 silverlight 应用程序。

我的问题是在收到 silverlight 端的 Datacontract 后,我​​应该 1)将此 DataContract 用作​​我在 MVVM 中的模型 2)将 datacontract 转换为客户端模型对象以在 MVVM 中使用。

选项 1:我不确定将客户端上的 Datacontracts 视为模型是否被认为通常是不好的做法,因为它们是 ultimatley WCF 消息类型。

选项 2:此选项使我完全与服务器分离,并允许我从行为驱动方法开发我的代码。

4

1 回答 1

2

您的评估是正确的,用于 WCF 的数据合同可以被认为是数据传输对象,它是一种将数据传输到服务和从服务传输数据的方式。

另一方面,您的模型可能包含行为、业务规则和验证。所以我会选择选项2。

这也将允许您更轻松地管理服务和客户端应用程序中的更改,因为服务不会与服务的特定使用者耦合。

于 2012-04-12T20:42:03.633 回答