MVC模型分别是什么,常用的mvc框架都有哪些?
1. MVC
首先我们得知道MVC是什么?MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
View层是界面,Model层是业务逻辑,Controller层用来调度View层和Model层,将用户界面和业务逻辑合理的组织在一起,起粘合剂的效果。所以Controller中的内容能少则少,这样才能提供最大的灵活性。
比方说,有一个View会提交数据给Model进行处理以实现具体的行为,View通常不会直接提交数据给Model,它会先把数据提交给Controller,然后Controller再将数据转发给Model。假如此时程序业务逻辑的处理方式有变化,那么只需要在Controller中将原来的Model换成新实现的Model就可以了,控制器的作用就是这么简单, 用来将不同的View和不同的Model组织在一起,顺便替双方传递消息,仅此而已。
2. 三层架构
说到MVC又容易经常提到一个跟它混淆的一种架构就是三层架构,那么这三层又是哪三层?它与MVC又有什么区别?
三层架构是指:视图层 View、服务层 Service,与持久层 Dao。它们分别完成不同的功能。
- View 层:用于接收用户提交请求的代码在这里编写。
- Service 层:系统的业务逻辑主要在这里完成。
- Dao层:直接操作数据库的代码在这里编写。
为了更好的降低各层间的耦合度,在三层架构程序设计中,采用面向抽象编程。即上层对下层的调用,是通过接口实现的。而下层对上层的真正服务提供者,是下层接口的实现类。服务标准(接口)是相同的,服务提供者(实现类)可以更换。这就实现了层间解耦合。
3.MVC与三层架构
那MVC与三层架构有什么区别?见图:
4.SSM与三层架构的关系
SSM,即 SpringMVC、Spring 与 MyBatis 三个框架。它们在三层架构中所处的位置是不同的,即它们在三层架构中的功能各不相同,各司其职。
- SpringMVC:作为 View 层的实现者,完成用户的请求接收功能。SpringMVC 的Controller作为整个应用的控制器,完成用户请求的转发及对用户的响应。
- MyBatis:作为 Dao层的实现者,完成对数据库的增、删、改、查功能。
- Spring:以整个应用大管家的身份出现。整个应用中所有 Bean
的生命周期行为,均由Spring 来管理。即整个应用中所有对象的创建、初始化、销毁,及对象间关联关系的维护,均由 Spring 进行管理。