可能我对MVVM的理解不深
在我看来
顶多是把MVC的C里的
网络请求 数据分析 甚至可能是 字符串的拼接 图片处理 等操作 拿到viewModel里去了
这样看来 好像VC里非常的干净 因为 所有的view都只需要展示数据
然而 所有代理方法 点击事件 数据展示 等依然是写在view里的
看似少了网络请求 但是还是非常的臃肿
我理解的MVVM 是每个自定义view 每个小模块 只要是单独的网络请求的
都划分成一个个小的VVM 最后再把所有小的VVM 添加到最终的view上
这样做 虽然很MVVM 但是就我个人而言 我觉得非常的墨迹 写代码效率很慢
你说VM可以复用 可以拿到别的版块 是可以 然而一个App内 类似的功能模块 能占多少
再说一下我对MVC和MVVM的看法
自从MVVM模式出现以来 MVC貌似就成了垃圾
不可否认MVC是一个优秀的设计模式 也不能避免C里边的逻辑非常混乱
MVVM使得代码耦合性降低 分工明确 但是也有他的弊端
VM里会有很多定义的方法 这使得程序员不能一眼就能看出 这个逻辑的走向 (不知道这个方法是干啥的 不知道数据的来源是哪的 对应的是哪个view 非常依赖注释) 需要来回跳转查看才能确定顺序 对维护者来说非常不友好 简单的逻辑经过多次传递也会变得复杂
再就是数据绑定 RAC跟MVVM简直就是绝配 然而对于不怎么了解RAC的人来说 这恐怕也够他喝瓶红牛的
我认为 MVC适合轻量级 无需复用的板块 MVVM 适合数据量大 有可复用板块 的功能
多用MVVM 别舍弃MVC
网友评论