当前位置: 首页 > news >正文

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

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

三层架构:

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

Controller层

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

将代码进行拆分:


 

Service层

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


 

dao层

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

将上述代码进行拆分:


 

小结

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

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

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

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

·service:逻辑处理

dao:数据访问

分层耦合:

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

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

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

内聚:模块内的功能联系

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

为什么要高内聚低耦合:

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

需要加入一个容器。

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

dao:

service:

Controller:


小结:


IOC详解:

DI详解:

相关文章:

  • 【图文教程】VMware Workstation 16.2.4 一站式解决方案
  • Apifox 5 月产品更新|数据模型支持查看「引用资源」、调试 AI 接口可实时预览 Markdown、性能优化
  • 木愚科技闪亮第63届高博会 全栈式智能教育解决方案助力教学升级
  • 如果是在服务器的tty2终端怎么查看登陆服务器的IP呢
  • 安全,稳定可靠的政企即时通讯数字化平台
  • CentOS 7 如何安装libsndfile?
  • Baklib重塑企业知识管理新范式
  • 项目代码工程优化之concurrent.futures异步编程(二)
  • pytorch部分函数理解
  • spark- ResultStage 和 ShuffleMapStage介绍
  • GEO革命:重新定义AI时代的内容规则
  • 外网访问可视化工具 Grafana (Linux版本)
  • 20250528-C#知识:函数简介及函数重载
  • 【组件】跳动的图标 动画
  • Linux软链接的目的
  • 使用nvm use切换版本号,报exit status 5
  • 图解 DeepSeek-R1【译】
  • 人员睡岗检测算法AI智能分析网关V4打造工业/安防/交通等多场景应用方案
  • 2025年北京市职工职业技能大赛第六届信息通信行业网络安全技能大赛复赛CTF部分WP-哥斯拉流量分析
  • 06.概念二:神经网络
  • 网站建设模块方案书/seo的定义
  • 网站开发前景咋样/网站怎么收录
  • 企业网站 建设策划书/黑客入侵网课
  • 做地方网站要办什么证/电商网站分析
  • 公司网站维护是做什么的/企业管理培训课程视频
  • 政府门户网站建设管理工作总结/seo免费诊断电话