gpt4 book ai didi

java - 使用 Spring Boot 而不是 DTO、Dao、Service 的设计模式?

转载 作者:行者123 更新时间:2023-12-04 08:28:15 29 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

9 个月前关闭。




Improve this question




我最近开始阅读一本书,该书更详细地解释了数据库的操作,尤其是它们之间的关系。问题是这本书有点旧,从2014年开始。所以我提出了以下问题,您可以澄清一下,请:
书中我们使用了 Dao、Dto 和 Service 模式,但我们不能使用 JPA、Spring Boot Repository 或其他新技术来“替换”书中介绍的旧实现?
如果是这样,你能给我一个下面代码的替代方案,它是如何工作的?我可以改进什么,我可以放弃什么,我应该完成什么,我应该学习什么,请!
本书将应用程序的实现分为 2 个团队:

  • UserInterface(实体的数据传输对象,内存数据库和 Controller 中的单例作为模拟服务和 View )
  • 开发团队(创建实体并使用 TDD 进行测试,为该实体创建 DAO,业务服务层和表示层

  • 所以,我可以改变这种创建和操作应用程序和数据库的方式,如果是的话,如何以及为什么?我应该用什么,我该怎么做?
    这是我目前正在阅读的书的 git: https://github.com/Spring-Hibernate-Book/spring-hibernate-datamodeling-tdd-rest/tree/master/Spring-OODD/src

    最佳答案

    就分工而言,在 Controller 层有一个单独的团队工作的概念似乎已经过时了。可能单页 UI 有自己的团队,但许多地方更喜欢由同一个人从前到后处理所有功能,以减少团队之间出现沟通问题的机会。
    您需要 DTO 的程度应由开发人员自行决定。过去的做法是定期将所有实体复制到 DTO 中,以避免 UI 中的延迟加载等问题。如果您正在构建将 JSON 传递到 UI 的单页应用程序,那不是问题。单页应用程序架构在 UI 关注点之间提供了更好的分离,使得在大多数情况下不需要 DTO。
    对于此的其余部分,概念应该映射。 Spring JPA 存储库与数据访问对象具有相同的功能,它只是为您提供了更多的实现。与 Hibernate 映射相关的最大变化是改用 JPA 注释。服务没有改变。
    TLDR
    已经改变的事情:

  • 单页应用程序已经取代了 JSP 等服务器端方法
  • 标准化 JPA 而不是 Hibernate
  • 配置类,不再有应用程序上下文 XML
  • 简介
  • 关注微服务与单体应用
  • 包含更多电池(默认为 h2,可部署的 jar ,约定优于配置)

  • 没有改变的事情:
  • Controller 调用服务调用数据访问的通用分层方案
  • Hibernate 映射策略和一般 ORM 问题
  • Spring 事务支持
  • 带有 bean、DI、AOP 的通用 Spring 编程模型
  • 关于java - 使用 Spring Boot 而不是 DTO、Dao、Service 的设计模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65157408/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com