多语言展示
当前在线:622今日阅读:19今日分享:20

如何理解三层架构与MVC

三层架构与MVC有区别,但联系紧密。他们的作用都是为了降低系统耦合度。
工具/原料

IDE

方法/步骤
1

什么是三层架构:1、视图层(View)存放接收用户提交请求的代码2、服务层(Service)存放系统的业务逻辑代码3、持久层(Dao)存放直接操作数据库的代码

2

上图中写了interfaces和lmpls的作用是实现层间解耦。上层对下层的调用通过接口实现,而下层对上层的真正服务提供者,是下层接口的实现类。这样接口是相同的,实现类可以更换,实现了层间解耦。实际写项目时,接口和实现也是分开的。

3

什么是MVC:Model(模型)承载数据,并对用户提交请求进行计算。分为两类:数据承载Bean(实体类)业务处理Bean(Service或Dao对象)View(视图)接受用户的请求,可以是表单请求、超链接请求、AJAX请求登。Controller(控制器)调度(将用户的请求转发给Model进行处理,并根据其计算结构向用户提供相应)

4

三层架构与MVC的关系:三层架构中的View层是跟用户发生直接关系的层。MVC中的V和C就是这样的存在,所以MVC中的V和C均属于三层架构的View层。同时,MVC中的M(Model)包括了数据承载Bean和业务处理Bean,其中业务处理Bean分为Service或Dao对象,分别对应业务逻辑处理和数据库操作,相应的,它们对应的是三层架构中的Service层和Dao层。

5

所以,三层架构与mvc还是有区别的。

6

SSM与三层架构的关系:SSM即Spring+SpringMVC+MyBatis框架SpringMVC作为View层的实现者,完成用户的请求接收功能。SpringMVC的Controller作为整个应用的控制器,完成用户请求的转发及对用户的响应。MyBatis作为Dao层的实现者,完成对数据库的增删改查。Spring以大管家的身份出现,管理所有Bean的生命周期,即整个应用中所有对象的创建、初始化、销毁,以及对象间关联关系的维护均由Spring管理。

注意事项

三层架构和mvc是有区别的

推荐信息