MVC 模型对象、域对象和 DTO 之间的区别是什么?
我的理解是:
MVC 模型对象:
对要由相应视图显示的数据建模。它可能不会直接映射到域对象,即可能包含来自一个或多个域对象的数据。
域对象:
在问题域中建模真实世界对象的对象,如预订、客户、订单等,用于持久化数据。
数据传输对象(DTO) :
一个对象,用于在层之间传输数据时,层在单独的进程,例如从数据库到客户端应用程序。当获取对应于多个域对象的数据时,允许跨线进行单个事务而不是多个调用。DTO 只包含数据和访问器方法,并且不存在逻辑。数据用于特定的 DB 事务,因此它可能直接映射到域对象,也可能不直接映射到域对象,因为它可能包含来自一个或多个域对象的数据。
那么,问题来了:
以上理解是否正确? 我是否漏掉了一些要点?
假设 Model 对象不需要额外的业务逻辑,是否有理由不使用 Domain 对象作为 MVC 模型?
假设 Model 对象不需要额外的业务逻辑,是否有理由不使用 DTO 作为 MVC 模型?