“Architecture is About Intent, not Frameworks” - Robert C. Martin (Uncle Bob) Uncle Bob 的这句话套在 MVVM 上也是适用的, MVVM 也仅仅是架构模式(Architectural pattern),其有一套自己的理论概念(pattern)而不是规定的具体实现(或 Frameworks)。早之前在知乎上相关问题的回答(android UI设计MVVM设计模式讨论?)中也简单提到过 MVVM 了,M-V-X 的关系如上图,那么这一次博主把 Fernando Cejas(android10) 的 Android-CleanArchitecture 项目中的 MVP 实现重构成了用 MVVM 来实现。所以看这篇文章最好是先搞清了 Fernando Cejas(android10) 的 Android-CleanArchitecture sample app 和对应的两篇文章(见参考)。整个历程也算比较愉快,没什么不良反应,这篇文章理所当然会重点说说 MVVM 的实现、 Data Binding 等相关的东西。