很早就知道mvc,但是直到去年才开始真正使用,关于mvc理论性的东西和代码示例,网上找了些资料,很容易就看懂了,但是到真正使用的时候,又出现一些迷茫的地方。
网上给的示例太简单,在项目中的情况要比这个复杂。经过一些时间的实践,现总结如下:mvc思想是把项目拆成一个个功能模块,每个模块都是按照mvc思想来进行代码分配。
model:这个东西比较好理解,就是把模块中所需要的各种数据放在这里面,包括与服务端的一些交互产生的数据,还有模块中一些状态数据!
view:该部分主要是视图生成,包含子视图的添加与删除,当有点击等操作时,调用controller来进行业务逻辑,监听model派发的事件,调用model中的数据来进行相关视图更新。
controller:主要存放一些处理逻辑和数据交互,凡是牵涉到外部模块的都要放在这里。包含对视图(包含子视图)的一些动作(点击按钮等)的响应处理,处理与服务端的通信交互等代码,得到处理结果后,改变model里的数据,model派发事件给视图或子视图,进行视图刷新等,往往该部分的代码量比model和view大,有时候感觉有些臃肿。