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 之间的协调者。
它负责:
- 接收 View 中的用户输入;
- 判断用户希望执行什么操作;
- 调用 Model 处理数据;
- 把处理结果交给 View 显示。
例如:
def run():
filename = input("CSV file: ")
data = load_data(filename) # Model
means = daily_mean(data) # Model
show_summary(means) # View
Controller 一般不保存核心数据,也不负责具体的数学计算,而是组织程序执行流程。