# 模型-视图-控制器

> MVC模式（Model–view–controller）是软件工程中的一种软件架构模式，把软件系统分为三个基本部分：模型（Model）、视图（View）和控制器（Controller）。MVC模式最早由Trygve Reenskaug在1978年提出，是施乐帕罗奥多研究中心（Xerox PARC）在20世纪80年代为程序语言Smalltalk发明的一种软件架构。

- ID: m01335
- 分类: structure
- 领域: 逻辑学

## 定义

一种经典的软件设计模式，将应用程序分为三个部分：模型（数据与逻辑）、视图（用户界面）、控制器（处理输入）。目的是实现关注点分离。脚手架作用：结构化解耦。在处理复杂问题时，试着将“核心事实”（Model）、“呈现方式”（View）和“操作流程”（Controller）分开思考，避免混为一谈。

## 机制

通过关注点分离降低复杂度：Model 持有数据与业务规则，View 负责呈现，Controller 接收输入并协调前两者。三者解耦后，修改界面不必触动逻辑，修改逻辑不必重写界面，各自可独立演进与测试。

## 练习

1. 把"数据 / 规则"抽离为 Model。 2. 把"界面呈现"抽离为 View，只读取 Model。 3. 把"用户输入处理"抽离为 Controller，连接 View 与 Model。 4. 明确三者依赖方向（通常 View、Controller 依赖 Model，而非反向）。

## 脚手架用法

结构化解耦。在处理复杂问题时，试着将“核心事实”（Model）、“呈现方式”（View）和“操作流程”（Controller）分开思考，避免混为一谈。

[阅读网页](https://thinkingmodels.site/entries/detail/m01335)
