几种主流架构设计对比:
MVC
MVC 简单来说就是将整个应用分为模型(Model)、视图(View)和 控制器(Controller)三个部分;
Android 本身的设计还是符合 MVC 架构的,但是经常会出现一些意想不到的问题,如内存泄漏等,这就导致了 MVC 的变种 MVP 的出现。优点:
结构清晰,职责划分清晰;降低耦合;有利于组件重用;
缺点:
Activity/Fragment中代码较多;代码结构比较复杂;
MVP
MVP 架构模式是 MVC 的一个变种,最大区别就是 View 层可以发起事件。
Presenter 层的出现帮助我们减轻了 Activity 的压力,结构上也较为清晰,但是 View 层将存在较多与 Presenter 沟通的代码,MVVM 架构就在这时候被提出来了。
优点:
结构清晰,职责划分清晰;模块间充分解耦;有利于组件的重用;
缺点:
会引入大量的接口,导致项目文件数量激增;增大代码结构复杂性;
MVVM
MVVM 架构模式可以说是Google “钦定”的 Android 开发未来的第一架构。
从Model-View-ViewModel 这个名字来看,它由三个部分组成,其中视图模型(ViewModel)其实就是 PM 模式中的展示模型。除了我们非