一、概念
MVC(Model View Controller)是软件工程中的一种**软件架构模式
,它把软件系统分为模型
、视图
和控制器
**三个基本部分。用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
架构模式:用大白话来讲就是,你在开发项目时,代码不能随便乱放,你应该遵循一定的规则、规范要求、或者是一套设计程序软件的思想来设计你的项目代码应该划分出哪些类型的代码,这些代码应该怎么存放。
优点:让你的项目1、高内聚低耦合;2、开闭原则。
开闭原则:对拓展开放,对修改关闭。当我们的项目中,如果想增加一些新的功能,或者是甲方提了一些新的需求,我们要对代码功能进行拓展的时候,我们应该尽量在项目中去增加代码,而不是修改原有的代码。
-
M:Model 模型层,具体功能如下
- 存放和数据库对象的实体类以及一些用于存储非数据库表完整相关的VO(ValueObject)对象
- 存放一些对数据进行逻辑运算操作的的一些业务处理代码
-
V:View 视图层,具体功能如下
- 存放一些视图文件相关的代码 html css js等
- 在前后端分离的项目中,后端已经没有视图文件,该层次已经衍化成独立的前端项目
-
C:Controller 控制层,具体功能如下
- 接收客户端请求,获得请求数据。使用Servlet技术。
- 调用服务层处理业务逻辑,接收结果
- 将结果响应给客户端(如果不是前后端分离,那么还可以控制页面跳转)
二、MVC模式下,项目中的常见包
-
M:
- 实体类包(pojo /entity /bean) 专门存放和数据库对应的实体类和一些VO(ValueObject)对象
- 数据库访问包(dao/mapper) 专门存放对数据库不同表格CURD方法封装的一些类
- 服务包(service) 专门存放对数据进行业务逻辑运算的一些类
-
C:
- 控制层包(controller)
-
V:
- web目录下的视图资源 html css js img 等
- 前端工程化后,在后端项目中已经不存在了