谈谈 MVC 和 MVVM
参考:
http://www.jianshu.com/p/f4faa720f00d
工作到现在,对代码稍微有点认识,if else 会写那么点。今天就和大家谈谈所理
解的 MVC,以及现在比较流行的 MVVM。首先我们应该明白,计算机实现一个
功能核心代码就那么点。也许我们经常会听到对于同一个问题,菜鸟的实现的真
的就是几行,可是大牛却多出了很多文件。这个是为什么?因为大牛的“经验”比
较多。。。这里面最主要的目的就是为了维护和可扩展。在设计模式里面,如果
你能遵循单一原则,你的代码就已经很好了。
MVC
做 iOS 开发,一直被教导一定要按 MVC 模式开发。可是 MVC 到底是神马?至
少在我工作初也不懂是咋回事!如果网上一搜就是千篇一律的 M 是数据模型,V
是视图,C 是控制器。然后巴拉巴拉的讲他们之间是怎么通信的。然并无卵用!
iOS 的 MVC 展现形式还是有点特殊的,特别是 controller 和 view 紧密在一起,
controller 还必须负责 view 的展示。在服务器端,view 根据 model 直接生成 HTML,
然后直接扔给浏览器去渲染和展示,通过 Ajax 或者 js post 告诉服务器 controller
view 的响应事件,controller 真的做的只是业务数据的处理,出来的结果其实还
是数据,根本没有去做 UI 相关的事情。也可以说服务器根本就没有 view。。但
它有个浏览器,帮他管理着 view 和 controller 之间的交互。而在我们 iOS 中,
controller 可不仅仅只是处理数据了,还负责 view 的管理以及事件的传递。 MVC
本质就是将数据展示和数据进行隔离,提高代码的复用性和扩展性。好吧,我也
说点并无什么卵用的。
看看斯坦福老爷爷的一张图:
评论0