首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >表示层应该使用从服务层返回的域对象吗?

表示层应该使用从服务层返回的域对象吗?
EN

Software Engineering用户
提问于 2017-02-28 13:17:07
回答 1查看 899关注 0票数 4

例如,如果有一个调用CountryService类的控制器,而CountryService类使用一个Countries类,那么CountryService是否应该将CountriesClass返回给控制器?或者服务是否应该有另一种DTO类型,它包含有关国家的信息,但仅由表示层使用,并将其交给控制器?

EN

回答 1

Software Engineering用户

发布于 2017-02-28 14:12:45

这取决于您的应用程序架构。例如:

  • 在最初的MVC中,控制器和视图都可以访问模型对象。
  • MVP中,控制器充当中间人(使模型位于远程服务器上),因此在本例中,您希望使用一些DTO对象。

但它也取决于对象的语义:

  • 您的国家对象能否被克隆(本地或通过服务器/反序列化),因为它们只包含固定状态的副本(例如国家名称、官方语言、货币)?
  • 或者,您的国家是一个独特的对象,它的状态可能被应用程序之外的事件更新(例如,基于每秒钟估计人口增长的模型,或者仅仅因为有几个客户端可以同时更新对象)?

在后一种情况下,您绝对不会操纵模型对象:您需要使用DTO或代理对象并使用一些身份映射器。但这将立即使问题变得更加复杂,从而引发乐观的和悲观的并发处理问题。

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/343192

复制
相关文章
你真的懂怎么写`服务层`吗?
其实很多系统架构里面都有服务层,但是服务对很多开发人员来说都有很多不同的定义和写法。甚至在我待过的公司里都有不同的写法和编写模式。每个人每个团队每个项目都有对服务不同的理解。那到底什么是服务,怎么理解才是对的呢?
三钻
2020/10/29
3890
你真的懂怎么写`服务层`吗?
架构分四层,我的代码应该放哪一层
我们的应用工程结构,常见大致分为四层。分别是api层、biz层、domain层和dao层。
王新栋
2023/11/13
1.1K0
架构分四层,我的代码应该放哪一层
java框架中的controller层、dao层、domain层、service层、view层[通俗易懂]
Controller层负责具体的业务模块流程的控制,在此层里面要调用Serice层的接口来控制业务流程,控制的配置也同样是在Spring的配置文件里面进行,针对具体的业务流程,会有不同的控制器,我们具体的设计过程中可以将流程进行抽象归纳,设计出可以重复利用的子单元流程模块,这样不仅使程序结构变得清晰,也大大减少了代码量。
全栈程序员站长
2022/07/31
7.2K0
java框架中的controller层、dao层、domain层、service层、view层[通俗易懂]
DDD 架构,MQ 应该放那一层使用?
本文的宗旨在于通过简单干净实践的方式教会读者,使用 Docker 配置 RocketMQ 并在基于 DDD 分层结构的 SpringBoot 工程中使用 RocketMQ 技术。因为大部分 MQ 的发送都是基于特定业务场景的,所以本章节也是基于 《MyBatis 使用教程和插件开发》 章节的扩展。
小傅哥
2023/09/06
4640
DDD 架构,MQ 应该放那一层使用?
java框架中的controller层、dao层、domain层、service层、view层
    Controller层负责具体的业务模块流程的控制,在此层里面要调用Serice层的接口来控制业务流程,控制的配置也同样是在Spring的配置文件里面进行,针对具体的业务流程,会有不同的控制器,我们具体的设计过程中可以将流程进行抽象归纳,设计出可以重复利用的子单元流程模块,这样不仅使程序结构变得清晰,也大大减少了代码量。
Twcat_tree
2022/11/30
1.5K0
java框架中的controller层、dao层、domain层、service层、view层
你了解网络层的 ICMP 吗?
ICMP(Internet Control Message Protocol,互联网控制消息协议)是网络层的一个重要协议,用于在计算机网络中传递控制消息。它是IP协议的一部分,主要用于网络设备之间传递错误消息、诊断信息和网络状态,帮助网络管理员和设备了解网络运行情况。
神的孩子都在歌唱
2025/03/05
780
你了解网络层的 ICMP 吗?
Vue监听返回键关闭弹出层不返回页面
//监听页面销毁之前 beforeDestroy() { window.removeEventListener( "popstate", () => { if (this.showPop) { this.showPop = false; } else { this.$router.go(-1); } }, false ); }, //使用了keep
明知山
2020/09/02
3.3K0
从控制层返回到js的json数据带“\”转译符,怎么去掉
百度了很多办法,都没有解决,最多的就是使用replacet替换,最接近预想结果的是在上面的success方法中,加上:
全栈程序员站长
2022/06/30
4.4K0
网络协议 3 - 从物理层到 MAC 层
    在上一篇博文中,我们见证了 IP 地址的诞生,机器一旦有了 IP,就可以在网络的环境里和其他的机器展开沟通了。
北国风光
2019/04/11
1K0
网络协议 3 - 从物理层到 MAC 层
SpringBoot项目中model层、Dao层、Mapper层、controller层、service层、entity层作用
model是模型的意思,与entity、domain、pojo类似,是存放实体的类,类中定义了多个类属性,并与数据库表的字段保持一致,一张表对应一个model类。主要用于定义与数据库对象应的属性,提供get/set方法,tostring方法,有参无参构造函数。
崩天的勾玉
2021/12/20
5.5K0
SpringBoot项目中model层、Dao层、Mapper层、controller层、service层、entity层作用
讨论:Service层需要接口吗?
前几天刷头条又刷到了「Service层和Dao层真的有必要每个类都加上接口吗?」这个问题,之前简单回答了一波,给出的观点是「看情况」
后端码匠
2020/11/06
1.9K0
JAVA中Action层, Service层 ,model层 和 Dao层的功能区分
Dao主要做数据库的交互工作 Model 是模型 存放你的实体类 Service 做相应的业务逻辑处理 Action是一个控制器
network_dream
2023/11/13
2830
JAVA中Action层, Service层 ,model层 和 Dao层的功能区分
Dao主要做数据库的交互工作 Model 是模型 存放你的实体类 Service 做相应的业务逻辑处理 Action是一个控制器
全栈程序员站长
2022/08/09
1.4K0
JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分
JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分
全栈程序员站长
2022/07/20
9780
JAVA中Action层, Service层 ,modle层 和 Dao层的功能区分
使用View Model从表现层分离领域模型
Model-View-Controller(模型-视图-控制器,MVC) 模式将你的软件组织并分解成三个截然不同的角色: Model 封装了你的应用数据、应用流程和业务逻辑。 View 从 Model 获取数据并格式化数据以进行显示。 Controller 控制程序流程,接收输入,并把它们传递给 Model 和 View。 与其它设计模式不同,MVC 模式并没有直接反映一个你能够编写或配置的类结构。相反,MVC 更像一个概念上的指导原则或范型。概念上的 MVC 模式被描述为三个对象 ——
张善友
2018/01/19
1.7K0
JavaScript学习总结(二)——延迟对象、跨域、模板引擎、弹出层、AJAX示例
一、AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术、改善用户体验,实现无刷新效
张果
2018/01/04
3.7K0
JavaScript学习总结(二)——延迟对象、跨域、模板引擎、弹出层、AJAX示例
Spirng项目分层需要接口层吗?
其实早期Spring实现注入、AOP等,都是JDK自带的动态代理,JDK动态代理要求必须使用接口,所以早期的项目都是有各种接口,很多项目都一直延用,很多老程序员也都养成了习惯。现在Spring集成了cglib,不需要接口了也能实现注入,AOP了。
甲蛙全栈
2021/03/08
4400
Spirng项目分层需要接口层吗?
SSM框架中Dao层,Mapper层,controller层,service层,model层,entity层都有什么作用「建议收藏」
service层。存放业务逻辑处理,也是一些关于数据库处理的操作,但不是直接和数据库打交道,他有接口还有接口的实现方法,在接口的实现方法中需要导入mapper层,mapper层是直接跟数据库打交道的,他也是个接口,只有方法名字,具体实现在mapper.xml文件里,service是供我们使用的方法。
全栈程序员站长
2022/09/14
1.2K0
从外网代码审计到三层内网各种漏洞拿到域控
大家好,这里是 渗透攻击红队 的第 58 篇文章,本公众号会记录一些红队攻击的案例,不定时更新
渗透攻击红队
2021/07/14
1.1K0
卷积层与池化层(bn层的原理和作用)
构建了最简单的网络之后,是时候再加上卷积和池化了。这篇,虽然我还没开始构思,但我知道,一定是很长的文章。
全栈程序员站长
2022/07/25
2.6K0
卷积层与池化层(bn层的原理和作用)

相似问题

我应该使用域对象中的存储库还是将域对象推回服务层?

20

域层应该有验证逻辑吗?

20

从服务层中的服务接口返回类型: UI层对象所需的Mapper?

10

表示层可访问的域验证

10

通过域对象getter调用服务层是很好的做法吗?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文