c# – 从数据对象转换为业务对象.最佳实践
假设DataLayer中有一个UserEntity需要转换为BusinessLayer中的User.这两种类型之间没有1:1的映射,并且继承不是一种选择.
我想将User转换为UserEntity,反之亦然.这样做的最佳方式是什么?我看到一些模式,但我不知道哪个更好,为什么: >在User 2方法中实现:从Entity和ToEntity 解决方法
不要重载赋值运算符 – 这是令人讨厌的,并会咬任何将继承您的代码的开发人员.最好是明确的.
我将封装用于在单独的类中映射这两种类型(或更多,如果它不是1:1)的逻辑.创建一个UserAdapter类,您可以在其中实现ToEntity / FromEntity方法. 并确保使用AutoMapper来最小化代码量.
更新: 您可以将这些方法添加到User类,对于一个小项目来说可能就足够了.在设计方面我有点纯粹,并且会将适配器逻辑保留在这些类之外.为什么User类必须依赖并且对UserEntity类有任何了解?把它们绑在一起对我来说有点气味.单独的适配器层更适合未来发展.例如,如果您必须用不同的数据库层替换数据库层(即从Linq2SQL移动到EntityFramework或Dapper),您需要做的就是创建新的适配器 – 您的业务类将保持不变. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |