原始笔记

Project‘S Architecture

Project‘S Architecture

正文

Project's Architecture(MVC Architecture)

MVC(Model–View–Controller)是一种把程序拆成三类职责的软件架构:

用户输入→Controller→Model→View\text{用户输入} \rightarrow \text{Controller} \rightarrow \text{Model} \rightarrow \text{View}用户输入→Controller→Model→View

核心思想是:数据、界面和业务流程彼此分离


1. Model:模型

Model 负责数据及其处理规则。

2. View:视图

View 负责向用户展示信息,并接收用户操作。

常见 View 包括:

  • 命令行界面 CLI;
  • 图形界面 GUI;
  • 网页;
  • 数据图表。

3. Controller:控制器

Controller 是 Model 和 View 之间的协调者。

它负责:

  1. 接收 View 中的用户输入;
  2. 判断用户希望执行什么操作;
  3. 调用 Model 处理数据;
  4. 把处理结果交给 View 显示。

例如:

def run():
    filename = input("CSV file: ")

    data = load_data(filename)       # Model
    means = daily_mean(data)         # Model

    show_summary(means)              # View

Controller 一般不保存核心数据,也不负责具体的数学计算,而是组织程序执行流程。

Switch to English