个人八股之三层架构

前瞻环节

大家好,我是程序员无尽冬 ,欢迎大家来到我的专栏。本篇我们将给大家讲解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=

相关推荐
wdfk_prog7 小时前
嵌入式面试真题第 10 题:高优化等级下共享状态可见性、内存模型与系统级同步设计
java·linux·开发语言·面试·职场和发展·架构·c
卓怡学长7 小时前
w255基于springboot仓库管理系统
java·数据库·spring boot·spring·intellij-idea
2501_941982058 小时前
企业微信二次开发:私域数据基石——三大核心基础能力接口实战
windows·架构·bootstrap·企业微信
谭光志8 小时前
Vibe Coding 时代,程序员该何去何从
前端·后端·ai编程
胡萝卜术9 小时前
RAG 的知识炼油厂:从原始网页到可检索知识块的工程化之路
面试·架构·github
GoGeekBaird9 小时前
我用 BeeWeave 跑完了一次完整写作闭环
后端·github
wdfk_prog9 小时前
嵌入式面试真题第 11 题:RTOS 优先级翻转与实时任务阻塞的通用治理
c语言·缓存·面试·职场和发展·架构
Sirius Wu9 小时前
OpenClaw Skill:Matplotlib 可视化技能 + 沙箱双层隔离完整详解
服务器·网络·人工智能·安全·ai·架构·aigc
这个DBA有点耶10 小时前
SQL调优进阶:从“优化一条SQL”到“优化一个系统”的思维升级
java·大数据·数据库·sql·程序人生·dba·改行学it
仿生狮子10 小时前
别再说“全栈”了,AI 时代团队只认这 5 种人
前端·人工智能·后端