- 系统架构是指整个应用系统程序的结构**[不是某一门语言特有的,是软件结构通用的],经常提到的系统架构一般有两种,三层架构和MVC,这两种架构之间有区别,是不一样的概念**,但是它们之间的共同点是为了降低系统模块之间的耦合度(降低耦合度可以简单理解为改动的时候不需要更改很多地方,多人参与项目可以分开写,各写个的部分,对接的时候是基于接口,内部互不影响)。
1.三层架构
三层架构师指:视图层view,服务层service,持久层Dao,它们的功能是:
1.view层:用来接收用户请求的代码,比如请求如何分发;
2.service层:系统的业务逻辑主要写在这里,比如借书系统会有借书的业务;
3.Dao层:直接操作数据库的代码,之所以分Dao层,主要是可能相同的sql语句可能使用在比较多的地方,改动的时候可以理解为只改动一处即可。
为了降低耦合度,在这里,使用面向抽象编程,也就是上层对下层的调用,直接通过接口来完成,下层对上层的真正服务提供者,是下层实现的接口实现类,实现类是可以更换的,这就实现了层间的解耦合。
2.MVC
mvc就是Model模型,view视图,以及Controller控制器
***1.View:***视图,为用户提供使用界面,与用户进行交互。
***2.Model:***模型承载数据,对用户提交请求进行计算的模块,分为两类:1.数据承载bean,2.业务承载bean,数据承载bean是指实体类专门承载业务数据的,比如Student,User,业务处理bean是指Service或者Dao对象,专门处理用户的请求的。
***Controller:***控制器,用来将用户请求转发给相应的Model进行处理,并且根据Model的计算结果向用户提供相应的响应。
MVC工作的流程:
1.用户通过view页面向服务端提出请求,表单,超链接或者ajax请求。
2.服务器端Controller控制器接受到请求之后,对请求进行解析,找到相应的Model对请求进行处理。
3.Model处理之后,将处理的结果交回给Controller
4.Controller在接受到处理结果后,找到相应的View页面,页面经过数据渲染(填充数据)后,发给客户端。
3.MVC与三层架构的区别
MVC架构里面的Controller以及View层合并在一起就是三层架构的View层,而MVC的Model层就包含了三层架构的Service层以及Dao层。
4.SSM与三层架构的联系
SSM,即SpringMVC,Spring与Mybatis的统称。
1.SpringMVC:作为view的实现者,完成客户请求的接受功能,它的controller作为整个应用的控制器,完成用户请求的转发和对用户的响应。
2.Mybatis:作为Dao的实现者,完成数据库的增伤改查等功能。
3.Spring:是整个应用的大管家,整个应用中所有的bean的生命周期行为,都是由Spring来管理的,就是说整个应用中所有的对象的创建,初始化,销毁,以及对象之间关联的关系维护,都是由Spring来进行管理。