因为将 MVC 区分开来,Model 就可以专注于数据处理而不必担心表现端的更新,View 也可以只管自己更新而不用担心对数据有什么副作用,Controller 其实更像是负责 Model 和 View 之间的胶水。这样功能分清之后开发起来能让后续的更新和维护的代价减少到最小。而且对于大项目来说,多人合作也只需要把接口做好就可以了。
为什么要轻 controller,重 model。因为比如我在 controller 里直接改某个 model 的数值,那么一个被频繁使用的数值很可能会在多处有修改的痕迹,而 model 本身对此一无所知。如果是 model 提供一个接口给 controller,加入这个值出了异常,我只需要在 model 里面写个log,就能知道 到底是哪个调用接口的程序引入的bug。
怎么用 MVC?
Model 主要是保存事物信息,数据,行为,方法是 model 的主要内容,Model所提供的数据都是原始数据。也就是说,不带有任何表现层的代码。 注意与Controller区分开。Model是处理业务方面的逻辑,Controller只是简单的协调Model和View之间的关系, 只要是与业务有关的,就该放在Model里面。好的设计,应当是胖Model,瘦Controller。