NET中数据模型Model和数据传输对象DTO的区别

数据模型Model

主要处理业务逻辑,不可以用于数据传递

使用数据模型的缺点:

直接向前端返回数据模型,会暴露系统的业务核心。而使用dto的时候可以屏蔽我们不希望暴露的核心业务

颗粒度太粗(输出数据无法精细调整)。但是通过不同dto的组合,可以调整输出数据的结果,从而解决颗粒度太粗的问题

DTO

DTO的全称是数据传输对象,主要用于数据传递,是面向界面UI的

使用DTO的好处:

DTO的定义是根据UI的需求来个性化定制的,从而可以 实现表现层和业务层的解耦

NET中数据模型Model和数据传输对象DTO的区别_第1张图片

Model和DTO的联系

表现层不使用model,而是把model映射给DTO。后期做修改的时候,不管是model还是DTO改变了,我们只需要改变model和dto的映射关系即可

比如:数据库的user table中取得我们需要的数据后,放入user model模型中,然后把用户模型的数据(只取我们想在表现层让用户看见的数据)映射到user DTO中,最后在api返回值中用用户的dto代替用户模型,从而可以从源头上保证了数据安全。

  表现层与应用层之间是通过数据传输对象(DTO)进行交互的,数据传输对象是没有行为的POCO对象,它 的目的只是为了

你可能感兴趣的:(ui)