mvc框架的目标是将应用分成三个功能部分,每个部分都包含数据和逻辑
模型
负责管理用户使用的数据
领域模型
包含了应用的数据与相应的操作,及包含转换、创建、存储和操作数据的规则,通常称为模型逻辑
领域模型
包含
- 领域数据
- 创建、管理和修改领域数据的逻辑
- 提供清晰的,可访问和操作模型数据的API
不包含
- 暴露模型数据的获取方式或者管理方式
- 根据用户操作修改模型的逻辑(控制器职责)
- 将数据展示给用户的逻辑(视图职责)
视图模型
从控制器传递到视图的数据,视图将这类数据展示给用户
视图
视图模型展示给用户
包含
- 将数据呈现给用户的逻辑或者标记
不包含
- 复杂的逻辑(控制器)
- 创建、存储和操作模型的逻辑
控制器
负责响应用户交互,同时扮演者模型与视图之间的桥梁角色
包含
- 初始化模型的逻辑
- 视图展示模型中的数据的逻辑和行为
- 根据用户操作更新模型的逻辑和行为
不包含
- 向用户展示数据的逻辑(视图职责)
- 处理数据持久化的逻辑(模型职责)
- 操作自己领域之外的数据
交叉部分
- 日志功能
- 授权功能