最近完成了一个基于ssm框架的项目,对三层架构有了更深的理解。在前段时间查阅三层架构的资料的时候,很多博主都对三层架构作出了解释,但作为小白还是有点看不太明白。所以如今突发奇想,用小白的话语阐释一下我对三层架构的理解,欢迎各位大佬批评指正。
废话不多说,开始。
一个完善的网页或者应用肯定分为前段和后端。我们所俗称的三层架构分别为:表现层、业务逻辑层和数据访问层,也可以叫做ui层、业务层和dao层。
其中ui层就是前端的页面,主要负责的功能便是与用户的交互。我们在使用一个网页或者应用时,一般都是在前端发送我们想要完成的请求,这时候我们所能接触到的东西,就叫做ui层,也是三层架构的第一层。
业务逻辑层一般分为控制层controller和服务层service。其中controller控制层的主要作用是作为服务层和表现层(ui层)的桥梁,controller可以接受前端传回的请求,并对请求做一下初步的处理然后传给service层进行功能的处理。service层主要是对请求进行一下该功能规定的一些处理、判断甚至封装操作,然后将数据传给数据访问层,也就是我们常说的dao层。
在三层架构的最底层,数据访问层,也就是我们常说的dao层。这一层的主要功能是对数据库进行操作,完成诸如增删改查等基本功能。并将数据返回。由于我写过的项目的业务逻辑和功能都不是很复杂,所以我在dao层中,一般是建立一个mapper接口和一个能和这个接口绑定的映射文件,在映射文件中完成接口的操作。
最终在数据访问层与数据库交互处理完请求后,会根据原路xml->dao->service->controller->前端的顺序把数据传回前端。
这便是我目前对三层架构的理解,希望可以帮助到和我一样的小白,也欢迎各位大佬对我所理解的进行指正与批评。