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,戳这里
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
2019-10-09 关于double的输入输出