三张图弄懂MVC、MVP、MVVM

MVC模式:

三张图弄懂MVC、MVP、MVVM

注意这里的箭头是单向的,单向的,单向的。

优点:只具有单向的操作流,数据驱动。逻辑清晰。

缺点:view监听Model较多,不可重用。controller不易于测试。

MVP模式:

三张图弄懂MVC、MVP、MVVM

所有操作都通过Presenter,Presenter,Presenter。

优点:易于直接通过Presenter测试。view可重用。

缺点:presenter不仅有业务逻辑,还要手动同步View和model,笨重。

MVVM模式:

三张图弄懂MVC、MVP、MVVM

Model隐式更新View是通过Binder,Binder,Binder。

优点:逻辑简化。可双向绑定。

缺点:双向绑定可能会循环调用。依赖Binder质量。

总结:很明显,这个是一个发展的过程。