为了账号安全,请及时绑定邮箱和手机立即绑定

在任何项目中正确实施服务层和 DTO 概念

在任何项目中正确实施服务层和 DTO 概念

桃花长相依 2021-07-13 12:00:51
我正在遵循几个指南和教程来学习如何使用 Spring Boot 框架,我还写了一些关于 MVC 和 DAO 设计模式的文章,但信息有点含糊,一些示例使用类“serviceObject”访问类“repositoryObject”中的方法,其他人只是直接使用“repositoryObject”类,我什至看过人们为对象创建新接口并同时创建 JPARepository 或任何其他存储库的实现的教程,所以我想请教各位有经验的,我应该如何实现设计模式?使用框架的正确形式是什么?前几天在另一边我发现Entities和DTO不一样,它们的用途不同,Entities会处理逻辑层和业务层到数据库的数据事务,但DTO会负责什么信息显示在前端,这就是我的理解,但我有疑问,如果是这样应该如何实施?所以我恳请您,您能否以孩子可以理解的方式向我解释这些概念(苹果和黑板,可能是带有 ID、姓名和年龄的学生桌)?顺便说一下,我正在做一个练习项目,它是:Data JPA、Web、Thymeleaf <-(仍然不太明白这是做什么用的,但在实践中我会学到)。先感谢您。
查看完整描述

2 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

在阅读了很多并遵循了很多信息之后,我意识到在做出决定之前需要考虑很多事情。

在存储库和控制器之间使用服务层时(最佳实践表明我们应该这样做),您应该考虑以下几个方面:

  • 业务逻辑大而复杂吗?

  • 您是否对数据库有复杂的查询咨询?

如果答案是否定的,那么就不要变得复杂,也不要使用它(到时候)。尽管最佳实践说我们应该使用那个服务层

说到DTO,还有一些其他的考虑,DTO的工作是向View层提供和检索数据,但是这个数据作为Entity来自Service层,转换为EntityDTO,反之亦然。基本上,DTO 可以节省资源,提高性能,使将来在数据库或实体中的项目更改中易于维护,也适用于大型项目,但最好了解这一点。


查看完整回答
反对 回复 2021-07-14
  • 2 回答
  • 0 关注
  • 175 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信