Hello,好久不见,不知道大家还记不记得自己关注了这么个半年都没更新的公众号。
在疲于奔命的软件设计过程中,我们经常或多或少的谈及软件架构设计,MVC,MVP感觉已经被玩烂,MVVM其实也已经出现了好久好久,只不过我确实不咋玩,接下来作为复活后的第一篇我们就随便扯扯架构吧,这里给出一张MVVM下的架构设计思路供大家一起讨论下,其中需要用到Architecture Components内的组件,有不太清楚的小伙伴可以看以下链接:
MVVM架构说明
如上图所示,我将所有的代码分为三个域:
Common公共域:主要用于存放一些基础公共代码,例如BaseActivity,BaseFragment,NetWorkUtils之类的;
DataSource数据域:主要用于存放数据操作相关的代码。例如访问数据库,
Code业务逻辑域:用于存放业务逻辑相关的代码,在该域中进行代码分层。
在常见的示例项目中,一般使用DataBinding进行View的界面绑定,在我的示例代码中为了大家理解起来更加轻松,这里并没有使用DataBinding。示例代码在这儿:
https://github.com/tuozhaobing/Architecture/tree/master/MVVM_Normal_Demos
有能力的小伙伴们可以尝试基于这个项目将其修改为Dagger2注入的。
领取专属 10元无门槛券
私享最新 技术干货