小编Tim*_*lem的帖子

MVC模型对象,域对象和DTO之间有什么区别

MVC模型对象,域对象和DTO之间有什么区别?

我的理解是:

MVC模型对象:

为相应视图显示的数据建模.它可能不直接映射到域对象,即可能包括来自一个或多个域对象的数据.

  1. 客户端
  2. 可能包含业务逻辑.例如.验证,计算属性等
  3. 没有持久性相关的方法

域对象:

用于对问题域中的现实世界对象进行建模的对象,如预留,客户,订单等.用于保存数据.

  1. 服务器端
  2. 没有业务逻辑

DTO(数据传输对象):

当层处于单独的进程中时,用于在层之间传输数据的对象,例如从DB到客户端应用程序.在获取与多个域对象相对应的数据时,允许跨线的单个事务而不是多个调用.DTO仅包含数据和访问器方法,并且不存在逻辑.该数据用于特定的DB事务,因此它可以或可以不直接映射到域对象,因为它可以包括来自一个或多个域对象的数据.

  1. 在层之间传递时,在服务器端和客户端使用
  2. 没有业务逻辑
  3. 没有持久性相关的方法

所以,问题:

  1. 以上理解是否正确?我错过了一些关键点吗?

  2. 是否有任何理由不使用Domain对象作为MVC模型,假设Model对象不需要额外的业务逻辑?

  3. 是否有任何理由不使用DTO作为MVC模型,假设Model对象不需要额外的业务逻辑?

architecture model-view-controller model dto

62
推荐指数
6
解决办法
2万
查看次数

标签 统计

architecture ×1

dto ×1

model ×1

model-view-controller ×1