- Model:负责管理数据,大部分业务逻辑也应该在Model中
View:负责渲染用户界面,应该避免在View业务中设计业务逻辑
Controller:负责接受用户输入,根据用户输入调用对应的Model部分逻辑,把产生的数据结果交给View部分,让View渲染出必要的输出 - 缺陷:实际框架中总是允许View和Model直接通信,所以数据流向会变得复杂
- 区别
服务器端MVC框架往往就是每个请求只在Controller-Model-View三者之间走一圈,结果返回给浏览器去渲染或者处理,然后销毁请求的生命周期,严格的单向数据流;浏览器端MVC框架,存在用户交互处理 - 系统提供什么样的服务,通过Controller暴露函数来实现。每增加一个功能,Controller往往就要增加一个函数