【java结构】巧计各种层(dao、service等)的意思

2024-06-06 21:44

本文主要是介绍【java结构】巧计各种层(dao、service等)的意思,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

记记记!!

      • 1. **DAO 和 Service 巧记方法**
        • 方法一:比喻法
        • 方法二:口诀法
      • 2. **如何记住Spring项目的目录结构**
        • 缩略词法
        • 联想法
      • 3. **一个完整的记忆技巧:角色扮演法**
        • 故事示例:
      • 4. **用日常用语概括**
      • 总结

src/main/java └── com
└── example
├── Application.java # Spring Boot 应用的启动类
├── model # 数据模型
│ └── Person.java # Person 实体类
├── repository # 数据访问层(DAO)
│ └── PersonRepository.java # Person 的 DAO 接口
├── service # 业务逻辑层(Service)
│ ├── PersonService.java # Service 接口
│ └── impl
│ └── PersonServiceImpl.java # Service 接口的实现类
└── controller # 控制层(Controller)
└── PersonController.java # 处理 HTTP 请求
DAO和Repository 实际上是一个层次的不同表现形式,在现代Spring应用中,Repository 是 DAO 的增强和简化版本。
使用比喻和角色扮演的方式,可以帮助你更好地理解和记忆这些不同层次的职责。
通过缩略词、联想和口诀等方法,可以有效地记住Spring应用的层次结构和各层的职责。

1. DAO 和 Service 巧记方法

方法一:比喻法
  • DAO 层(数据访问层):可以比作“数据库门卫”。

    • 职责:负责管理进出数据库的“门禁”。它只关心数据的存取,不关心具体业务。
    • 关键点:处理与数据库的所有交互。
  • Service 层(业务逻辑层):可以比作“业务管家”。

    • 职责:负责执行业务规则和逻辑,管理多个“门卫”以完成复杂的操作。它是系统的核心,决定如何使用数据来满足业务需求。
    • 关键点:处理和执行具体的业务逻辑。

这种比喻法有助于你在脑海中形成清晰的图像,帮助理解不同层的角色和职责。

方法二:口诀法
  • DAO 层“拿数据,管门道”

    • 拿数据:负责从数据库获取和保存数据。
    • 管门道:管理数据的出入,不涉及具体的业务逻辑。
  • Service 层“办事情,管全局”

    • 办事情:负责处理应用中的所有业务逻辑和操作。
    • 管全局:从全局的业务需求出发,调用DAO层的功能来实现具体的业务逻辑。

2. 如何记住Spring项目的目录结构

可以使用缩略词和联想法来记住典型的Spring项目目录结构:

缩略词法

使用首字母缩略词来记住常见的文件夹:

  • Model (数据模型)
  • Repository (数据访问层)
  • Service (业务逻辑层)
  • Controller (控制层)

这样就形成了一个容易记忆的词:“MRSC”。

联想法

将每个层次的职责和实际生活中的角色进行联想:

  • Model:数据的“模型”,像建模一样,定义了数据的结构。
  • Repository:数据的“存储库”,负责管理数据的存取,就像图书馆的管理员。
  • Service:业务的“服务”,就像服务员一样,满足客户(应用)的具体需求。
  • Controller:请求的“控制者”,就像指挥官一样,接收和处理指令(用户的请求)。

3. 一个完整的记忆技巧:角色扮演法

你可以把每个层次想象成一个角色,并将它们置于一个故事中:

  • Model:想象它是一个“建筑师”,它定义了如何设计你的数据。
  • Repository:是“图书管理员”,负责存储和检索书籍(数据)。
  • Service:是“酒店经理”,它管理所有的操作和服务,确保客人(请求)得到满意的处理。
  • Controller:是“接待员”,它接收所有来访者(请求)并引导他们到正确的地方(调用Service)。
故事示例:
  1. **建筑师(Model)**设计了一座图书馆。
  2. **图书管理员(Repository)**管理和组织所有书籍,确保他们可以被迅速找到。
  3. **酒店经理(Service)**知道如何提供优质的服务,指挥图书管理员去找书,并为来访者(请求)提供帮助。
  4. **接待员(Controller)**接待来访者,了解他们的需求,然后告诉酒店经理。

4. 用日常用语概括

  • DAO 层:只“关注数据”,无视其他事物。
  • Service 层:要“处理业务”,管理各种数据操作。

这种简洁的概括可以帮助你快速回忆起它们的主要职责。

总结

记忆软件架构的不同层次和它们的职责可以通过简单的比喻、缩略词、联想和故事化的方法来实现。这些方法有助于将抽象的概念形象化,从而更容易记住和理解。希望这些技巧能帮助你更好地掌握Spring项目的层次结构和职责划分。如果你有任何具体的疑问或需要进一步解释,请随时联系我!

这篇关于【java结构】巧计各种层(dao、service等)的意思的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1037309

相关文章

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.

springboot security使用jwt认证方式

《springbootsecurity使用jwt认证方式》:本文主要介绍springbootsecurity使用jwt认证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录前言代码示例依赖定义mapper定义用户信息的实体beansecurity相关的类提供登录接口测试提供一

Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

《SpringBoot3.4.3基于SpringWebFlux实现SSE功能(代码示例)》SpringBoot3.4.3结合SpringWebFlux实现SSE功能,为实时数据推送提供... 目录1. SSE 简介1.1 什么是 SSE?1.2 SSE 的优点1.3 适用场景2. Spring WebFlu

基于SpringBoot实现文件秒传功能

《基于SpringBoot实现文件秒传功能》在开发Web应用时,文件上传是一个常见需求,然而,当用户需要上传大文件或相同文件多次时,会造成带宽浪费和服务器存储冗余,此时可以使用文件秒传技术通过识别重复... 目录前言文件秒传原理代码实现1. 创建项目基础结构2. 创建上传存储代码3. 创建Result类4.

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

springboot security验证码的登录实例

《springbootsecurity验证码的登录实例》:本文主要介绍springbootsecurity验证码的登录实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录前言代码示例引入依赖定义验证码生成器定义获取验证码及认证接口测试获取验证码登录总结前言在spring

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s