我正在创建一个WPF应用程序,该应用程序使用WCF服务与数据源进行交互。我在客户端和WCF服务器上都使用DI来确保解耦的代码,但我不确定如何处理从后端到用户界面的数据传输。
为了保持分层,目前通过多个映射步骤将数据从数据库传输到UI。在服务器端,数据实体被映射到域对象,然后再映射到服务数据合同。在客户端,WCF代理类被映射到视图模型。
一些同事声称,这种 seemingly identical 类之间的“复制”数据会导致维护问题,因为当有变更时必须更新很多类。相反,他们说我们应该在层之间使用共享类,因为我们控制着客户端应用程序和WCF服务。我也担心涉及的工作量以及潜在的性能损失,但另一方面,在层/抽象之间使用共享类可能会创建紧密耦合的问题。哪种方法最好?
为了保持分层,目前通过多个映射步骤将数据从数据库传输到UI。在服务器端,数据实体被映射到域对象,然后再映射到服务数据合同。在客户端,WCF代理类被映射到视图模型。
一些同事声称,这种 seemingly identical 类之间的“复制”数据会导致维护问题,因为当有变更时必须更新很多类。相反,他们说我们应该在层之间使用共享类,因为我们控制着客户端应用程序和WCF服务。我也担心涉及的工作量以及潜在的性能损失,但另一方面,在层/抽象之间使用共享类可能会创建紧密耦合的问题。哪种方法最好?