MVC模式
什么是MVC模式?
MVC是三个英文单词的缩写:
- M:Model(模型)
- V:View(视图)
- C:Controller(控制器)
它是一种软件设计模式,主要用来组织和分离代码,让程序结构更清晰、易于维护。MVC模式在Web开发中非常常见,比如Java的Spring MVC、前端的Vue/React等都用到了这个思想。
通俗举例
你可以把MVC想象成一个“点餐系统”:
1. Model(模型)—— 菜单和数据
- 就像餐厅的菜单和后厨,负责存储和管理数据。
- 比如:有哪些菜、每道菜的价格、库存等。
2. View(视图)—— 服务员给你的菜单页面
- 就是你看到的界面,负责把数据展示给用户。
- 比如:你看到的菜单、点餐页面、订单详情页面等。
3. Controller(控制器)—— 服务员
- 负责接收你的操作(比如点菜),并协调“菜单/后厨”和“菜单页面”之间的关系。
- 比如:你告诉服务员要点什么菜,服务员去后厨下单,然后把结果反馈给你。
在Web开发中的MVC
- Model:负责和数据库打交道,处理数据逻辑。
- View:负责页面显示,比如HTML页面、前端界面。
- Controller:负责接收用户请求(比如点击按钮、提交表单),调用Model处理数据,然后把结果传给View显示。
总结一句话
MVC就是把“数据处理”、“界面显示”和“用户操作”分开管理,各司其职,让程序更清晰、更容易维护。
MVC与三层架构的不同
一、三层架构是什么?
三层架构(Three-tier Architecture)是企业级应用中常用的一种分层设计思想,通常分为:
1.表示层(UI层/表现层)
负责和用户直接交互,展示界面,接收用户输入。
2.业务逻辑层(Service层/业务层)
负责处理具体的业务逻辑,比如下订单、计算价格等。
3.数据访问层(DAO层/持久层)
负责和数据库打交道,进行数据的增删改查。
1. MVC的“分工”——关注“流程”
MVC的分工,主要是围绕“用户请求到页面展示”这个流程来分的:
- View(视图):只负责把数据展示给用户(比如菜单、菜品图片),不处理数据、不管业务。
- Controller(控制器):只负责接收用户的操作(比如点菜),然后决定让谁去处理数据,最后把结果返回给View。
- Model(模型):只负责数据和业务,比如菜品怎么做、库存怎么查。
MVC的核心:
让“页面展示”和“数据处理”分开,流程更清晰,方便维护。
2. 三层架构的“分工”——关注“系统结构”
三层架构的分工,主要是围绕“系统内部的功能”来分的:
- 表示层:只负责和用户打交道(比如前台接待),不处理业务、不操作数据库。
- 业务逻辑层:只负责处理业务(比如下单、结账),不直接操作数据库。
- 数据访问层:只负责和数据库打交道(比如查库存、存订单),不处理业务、不展示页面。
三层架构的核心:
让每一层只做自己该做的事,系统结构更清晰,方便扩展和维护。
3. 为什么说MVC和三层架构不一样?
- MVC更像是“点菜流程”中的分工:谁负责接待、谁负责传话、谁负责做菜。
- 三层架构更像是“公司部门”中的分工:前台、业务部、档案室,各自有自己的职责。
它们的分工角度不同:
- MVC是按“流程”分工,强调“请求-处理-展示”。
- 三层架构是按“功能”分工,强调“展示-业务-数据”。
4. 总结
- MVC和三层架构都讲分工,但分工的角度和目的不同。
- MVC让“页面”和“数据处理”分开,流程清晰。
- 三层架构让“系统内部”分工明确,结构清晰。