个人八股之三层架构

前瞻环节

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

相关推荐
程序 代码狂人2 分钟前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
m0_639906941 小时前
Linux 操作系统入门:目录结构、服务排查常用命令、Shell 脚本基础
linux·运维·后端
2501_944521591 小时前
Deepmerge 跨端三方库仓颉适配全流程
java·python·eclipse·github
天河归来1 小时前
从原始消息到业务数据:三层数据架构的设计与实践
数据库·数据仓库·架构
holly就是我2 小时前
AI 编程助手为什么跑偏?用开源 ccglass 看清 Prompt、工具调用和 Token 消耗
人工智能·后端
鸿蒙开发2 小时前
共享 Schema 与 SchemaFactory
前端·后端·harmonyos
用户788477316342 小时前
小程序后端三选一:云开发、.NET WebAPI、Node,我按客户现状分了三种答案
后端
aiopencode2 小时前
局域网设备抓包怎么做?用 TraceEagle 抓电视、游戏机和 IoT 流量
后端·ios
智驭未来掌门人2 小时前
CLion 开发 Qt 项目的优势
后端
天远Date Lab2 小时前
零信任架构实战:基于天远企业年报信息核验构建自动化商业保理财务与社保穿透评估网关
人工智能·架构·自动化