个人八股之三层架构

前瞻环节

大家好,我是程序员无尽冬 ,欢迎大家来到我的专栏。本篇我们将给大家讲解java的 分层解耦 三层架构 同时也会将它整理为我的个人八股分享给大家 希望大家可以喜欢。

三层架构

首先我们先明白为什么要将代码拆分

再简单认识一下这三层架构的每一层的具体功能

三层架构的具体功能

1.Java三层架构(分层解耦IOC-DI)

三层架构:Controller控制层,Service逻辑处理层,Dao数据访问层。

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

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

Dao: 数据访问层(Data Access Object)(持久层),负责数据访问操作,包括数据的增,删,改,查。

大概请求响应流程:前端浏览器向服务器发送请求到Controller层接收浏览器请求,并调用Service层拿到数据调用Dao层 ,Dao层操作文件中的数据并把数据返回到Service层,Service对数据进行逻辑处理把处理的结果再返回到Controller控制层,Controller把数据结果并响应浏览器 即三层之间不只是单纯的单向关系 而是双向的箭头

代码设计原则:高内聚,低耦合。

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

耦合:软件中各个层各个功能模块的依赖,关联程度。

这样的好处是我们可以减少各个功能模块的依赖 在一个地方出现异常的时候更方便去解决

分层解耦

IOC和DI简单认识

a.控制反转:(Inversion of control)简称:"IOC",把创建对象的控制权由自身转移到外部容器中,这种思想被称为:控制反转。

b.依赖注入:(dependency injection)简称:"Di",应用为程序运行时,所依赖的资源成为,"依赖注入"。

c.Bean对象:容器创建,管理对象,称为:Bean对象。

在dao层加入@Componet注解把创建对象实现由自身转移到外部容器,"实现控制反转"。把当前类交给ioc容器,成为容器中的Bean。 然后在Controller和service impl层加入@Autowried注解,程序运行时,给依赖的资源进行"依赖注入"。程序运行中,ioc容器会提供当前类型的Bean对象,并给变量赋值。

这样它们就可以接受到 dao层的数据了

总结环节

本期我们学习了三层架构的基本知识并融合为自己的八股

我是程序员无尽冬 感谢你的观看 如果对你有帮助 请一键三连支持一下

最后分享一首歌给大家 https://music.163.com/song?id=479979029&uct2=U2FsdGVkX18HX+noXQpSOWBY7o2jw86zb6vdYh61Jaw=

相关推荐
zh731412 分钟前
typephp的编译核心phpx原理解析
android·java·开发语言
2401_894915532 小时前
GEO 优化源码全解析:从搜索引擎到 AI 引擎的底层改写逻辑
java·服务器·前端·数据库·人工智能·分布式·搜索引擎
Java牛马6 小时前
SpringBoot Starter 依赖相关总结
java·spring·springboot·starter·自动装配·依赖
吴声子夜歌6 小时前
Java面试——Spring Cloud原理及应用(二)
java·spring cloud·面试
SomeB1oody7 小时前
【RustyML入门】6.3. 并行归约
开发语言·后端·机器学习·rust·教程
ZGIAI7 小时前
ZGI Workflow 并发控制:保护下游接口
人工智能·架构
ZGIAI7 小时前
知识库有结果,不等于召回率合格
人工智能·架构
东小西7 小时前
【SAA实战】第 1 篇:ReactAgent 入门——先撸个"会调工具的助手"跑起来
java·人工智能·spring
Profile排查笔记8 小时前
指纹浏览器哪个好?从 Profile、代理、权限和自动化能力判断是否适合
前端·人工智能·后端·自动化
用户938515635078 小时前
用 AI 结对编程从 0 搭一个"单词后台管理系统":Next.js + Supabase + Drizzle + shadcn/ui 全记录
后端·postgresql·next.js