1、C
在设计良好的应用中,控制器很精练,包含的操作代码简短; 如果你的控制器很复杂,通常意味着需要重构,转移一些代码到其他类中。
归纳起来,控制器
- 可访问 请求 数据;
- 可根据请求数据调用 模型 的方法和其他服务组件;
- 可使用 视图 构造响应;
- 不应处理应被模型处理的请求数据;
- 应避免嵌入HTML或其他展示代码,这些代码最好在 视图中处理
2、M
模型是代表业务数据、规则和逻辑的中心地方,通常在很多地方重用, 在一个设计良好的应用中,模型通常比控制器代码多。
归纳起来,模型
- 可包含属性来展示业务数据;
- 可包含验证规则确保数据有效和完整;
- 可包含方法实现业务逻辑;
- 不应直接访问请求,session和其他环境数据,这些数据应该由控制器传入到模型;
- 应避免嵌入HTML或其他展示代码,这些代码最好在 视图中处理;