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

我正在遵循几个指南和教程来学习如何使用 Spring Boot 框架,我还写了一些关于 MVC 和 DAO 设计模式的文章,但信息有点含糊,一些示例使用类“serviceObject”访问类“repositoryObject”中的方法,其他人只是直接使用“repositoryObject”类,我什至看过人们为对象创建新接口并同时创建 JPARepository 或任何其他存储库的实现的教程,所以我想请教各位有经验的,我应该如何实现设计模式?使用框架的正确形式是什么?

前几天在另一边我发现Entities和DTO不一样,它们的用途不同,Entities会处理逻辑层和业务层到数据库的数据事务,但DTO会负责什么信息显示在前端,这就是我的理解,但我有疑问,如果是这样应该如何实施?

所以我恳请您,您能否以孩子可以理解的方式向我解释这些概念(苹果和黑板,可能是带有 ID、姓名和年龄的学生桌)?

顺便说一下,我正在做一个练习项目,它是:Data JPA、Web、Thymeleaf <-(仍然不太明白这是做什么用的,但在实践中我会学到)。

先感谢您。


桃花长相依
浏览 176回答 2
2回答

子衿沉夜

在阅读了很多并遵循了很多信息之后,我意识到在做出决定之前需要考虑很多事情。在存储库和控制器之间使用服务层时(最佳实践表明我们应该这样做),您应该考虑以下几个方面:业务逻辑大而复杂吗?您是否对数据库有复杂的查询咨询?如果答案是否定的,那么就不要变得复杂,也不要使用它(到时候)。尽管最佳实践说我们应该使用那个服务层。说到DTO,还有一些其他的考虑,DTO的工作是向View层提供和检索数据,但是这个数据作为Entity来自Service层,转换为EntityDTO,反之亦然。基本上,DTO 可以节省资源,提高性能,使将来在数据库或实体中的项目更改中易于维护,也适用于大型项目,但最好了解这一点。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java