对前端MVC有一些困惑:
Model:写逻辑
Control 进行页面节点事件的注册和控制,以及页面加载性能的实现
那么,在大型项目开发中,Model和Control 要分别两个.js文件写吗,还是在一个js中实现,只要主力v和M的分离就可以?如果是分成control.js和model.js,那是不是会增加页面请求了呢?
求大神帮解答一下
三叔2016-11-12 10:29:59
Model 和 Controller 上升到概念的时候,分与不分又有什么关系呢?当代码给机器读的时候,分与不分又有什么关系呢……问题在于,程序是写给人看的,而不是写给机器看的,所以,怎么看方便怎么来,明显分开是种比较好的选择。
欧阳克2016-11-12 10:29:37
Model和Controller要分别两个.js文件写吗
要!分开是为了更好的相遇!
Model是对数据的操作方法的集合,Controller负责调用Model的方法和响应View.
大项目的特点是数据流动多且复杂,不分开,数据的操作方法穿插在Controller中(耦合), 那这样对页面数据的操作没有整体把控,而且不易维护和重用。分开,Model只暴露方法,这时可把Model看成生产数据的机器,你在Controller中调用相应的方法和参数,它就返回给你相应的数据,方法内部对Controller是透明的(解耦)。Model也方便维护和重用,甚至请求的url也可以分离出来单独维护。
那是不是会增加页面请求了呢?
前端工程化必然会提到构建工具,所以借助工具打包到一块可以了。
勉强回答,没有代码,有错误请指出 :)