浏览器标题切换
浏览器标题切换end

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

数据模型Model

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

使用数据模型的缺点:

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

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

DTO

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

使用DTO的好处:

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

Model和DTO的联系

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

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

如何给项目添加DTO输出数据

即如何去分离model和DTO,戳这里

posted @ 2022-10-09 12:25  抓水母的派大星  阅读(176)  评论(0编辑  收藏  举报