Java开发——三层架构,分层耦合

在软件设计中尽量在一个类中只做一件事,只有一个功能,所以需要吧上述代码每个功能在定义到每个类中,所以采用三层架构的方式。

三层架构:

前端发送请求先访问Controller层->但并不进行逻辑处理需要在调用Service层->Service需要在调用Dao层拿数据->然后再返回Service进行逻辑处理->处理完成再将处理后的数据返回给Controller然后再相应给前端。

Controller层

Controller:控制层,接受前端发送的请求,对进行处理,并相应数据。

将代码进行拆分:

Service层

Service:业务逻辑层,处理具体的业务逻辑。

dao层

dao:数据访问层(持久层),负责数据访问读取操作,包括数据的增删改查。

将上述代码进行拆分:

小结

1.为什么要对代码进行拆分?

遵循单一职责原则,便于复用、后期维护

2.拆分为了哪三层?每一层的职责是什么?

·controller:接受请求,响应数据

·service:逻辑处理

dao:数据访问

分层耦合:

耦合:衡量软件中各个层/各个模块的依赖关系程度。

内聚:软件中各个功能模块内部的功能联系。

软件设计原则:高内聚低耦合。

内聚:模块内的功能联系

耦合:层与层或模块与模块之间联系较少。

为什么要高内聚低耦合:

代码中有三个模块,要改某一块代码,三个都要改如何解决这个问题,就要进行解耦。

需要加入一个容器。

加入一个容器的方法就是加一个注释,

dao:

service:

Controller:

小结:

IOC详解:

DI详解:

相关推荐
我是唐青枫5 分钟前
Java Jetty 实战详解:从嵌入式 HTTP 服务到 Spring Boot 容器替换
java
带刺的坐椅6 分钟前
当所有人都在用 TS/Python 写 Agent,我们为什么坚持 Java
java·ai·solon·codex·opencode·soloncode
小王师傅6613 分钟前
英语学习记
java·学习
代码不会写21 分钟前
Apache Iceberg:架构原理、读写机制、性能优化与生态
性能优化·架构·apache·iceberg
heimeiyingwang36 分钟前
【架构实战】云原生架构:容器化与Kubernetes落地之路
云原生·架构·kubernetes
早点睡啊Y1 小时前
深入学LangChain官方文档:Observability 与 Studio——先看清 Agent 到底做了什么
java·数据库·langchain
雨落在了我的手上1 小时前
Java数据结构(六):链表的介绍
java·开发语言·数据结构
独隅1 小时前
DevEco Code Plan+Build 双 Agent 协同开发效率实测
java·开发语言
DogDaoDao1 小时前
【GitHub】WorldMonitor:一个工程极致主义的实时全球情报仪表盘深度解析
python·程序员·架构·github·go语言·worldmonitor·实时全球情报
ajassi20001 小时前
AI语音智能体架构解析(四)AI 语音终端(执行器官)
人工智能·ai·架构·ai编程