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