首页 > 其他分享 >NET中数据模型Model和数据传输对象DTO的区别

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

时间:2022-10-09 12:34:35浏览次数:82  
标签:model dto DTO Model 数据 NET 数据模型

数据模型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,戳这里

标签:model,dto,DTO,Model,数据,NET,数据模型
From: https://www.cnblogs.com/huangkenicole/p/16771726.html

相关文章

  • 多视图几何三维重建实战系列之MVSNet
    1.概述MVS是一种从具有一定重叠度的多视图视角中恢复场景的稠密结构的技术,传统方法利用几何、光学一致性构造匹配代价,进行匹配代价累积,再估计深度值。虽然传统方法有较高的......
  • Kubernetes14-Helm:Kubernetes应用包管理
    1、Helm概述1.1、Helm介绍随着容器技术逐渐被企业接受,在Kubernetes上已经能便捷地部署简单的应用了。但对于复杂的应用中间件,在Kubernetes上进行容器化部署并非易事,通常......
  • Bing 广告平台迁移到 .net6
      原文链接 https://devblogs.microsoft.com/dotnet/bing-ads-campaign-platform-journey-to-dotnet-6/  广告组件平台对于微软搜索平台能给用户提供好的用户体验......
  • Docker Desktop 可以直接启用Kubernetes 1.25 了
    作为目前事实上的容器编排系统标准,K8s无疑是现代云原生应用的基石,很多同学入门可能直接就被卡到第一关,从哪去弄个K8s的环境,DockerDesktop自带了Kubernetes服务,但是在......
  • .Net Core Api枚举类型Enum参数的处理
    (7条消息).netcoreSwashbuckle(swagger)枚举显示值改成显示枚举属性,以及枚举描述_小星博博的博客-CSDN博客C#获取与解析枚举类型的DescriptionAttribute-爱码网(l......
  • ASP.NET Core 接口参数Example怎么设定
    提问ASP.NETCore接口参数Example怎么设定回答paramxml注释增加example="888"属性///<summary>///查天气///</summary>///<paramname="token">令牌</pa......
  • 记一次 .NET 某工控视觉软件 非托管泄漏分析
    一:背景1.讲故事最近分享了好几篇关于非托管内存泄漏的文章,有时候就是这么神奇,来求助的都是这类型的dump,一饮一啄,莫非前定。让我被迫加深对NT堆,页堆的理解,这一篇就......
  • vulnhub靶场之THE PLANETS: EARTH
    准备:攻击机:虚拟机kali、本机win10。靶机:THEPLANETS:EARTH,网段地址我这里设置的桥接,所以与本机电脑在同一网段,下载地址:https://download.vulnhub.com/theplanets/Earth.......
  • .NET现代化应用开发 - CQRS&类目管理代码剖析
    ​本周MASAFramework进行了第四次课程直播,课程主题为类目管理的开发,直播中进行了理论讲解和实战演练(CQRS实践的演示可直达推文底部观看直播回放)开始环节我们围绕三个点......
  • Docker Desktop 可以直接启用Kubernetes 1.25 了
    作为目前事实上的容器编排系统标准,K8s无疑是现代云原生应用的基石,很多同学入门可能直接就被卡到第一关,从哪去弄个K8s的环境,DockerDesktop自带了Kubernetes服务,但是......