需求

最新希望了解一些 mvc, mvp, mvvm 之类的内容.

解决

大概看了一些资料,有了一个初步的认识。

mvp

  • model 层里面包含了所有和数据相关处理的内容,包括本地文件,数据库,网络数据等等,所有的数据都在 model。 model 提供相关的结构给外部调用.
  • view 层里面就是所有的显示相关了,也提供相关的接口。
  • presenter 层就是居中调节,view 里面操作了什么, presenter 就对应的去调用 model 的接口。基本就是一个转接的作用。这样可以方便, model 和 view 解耦。

mvp 最大的问题,就是接口太多了,为了解耦,太冗余了。当然好处是,接口多,方便测试。

可以参考, google 提供的 architecture-samples,里面可以看 java 的代码,在 2019-01-29, ebbdd9ec6e5fdece755783ea149f4acd0e6530bc 这个提交,可以看到 todo-mvp. 链接是: https://github.com/android/architecture-samples

先整理了一部分资料,都后续有时间详细看看。

https://juejin.cn/post/7110885291946147876 https://zhuanlan.zhihu.com/p/59814282 https://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html https://juejin.cn/post/6901200799242649607

参考