似乎 MVVM 难以调试,至少相对于 MVP ,是网上的普遍看法。具体体现在哪儿呢?我之前用过 MVP 模式,最近在看 MVVM 。
bug 变得难以调试,当遇到了异常,可能是 view 的问题,也有可能是 model 的问题。数据绑定使得 bug 快速传递到其他地方,要定位原始出问题的地方就变得不那么容易了。
Debugging is not easy in MVVM due to the complex layering patterns and the architectural style.
感觉 MVVM 模式很好啊:view 和 viewmodel 在很大程度上是解耦合的,也就方便了 view 的单元测试,为什么还会难以调试呢?
是数据双向绑定导致的难以调试?但数据也可以 log 啊,可以把 view 依赖的 viewmodel 的数据条目打印出来,时机就是这些数据变化时。也就几行代码的事。