Android基本架构搭建

类似Bob大叔的clean architecture ,一种更清晰的架构,clean way,分为三层,presentation-data-domain.

domain为纯领域模型,是Java library,包含了use case(Interactor)、DO、repository接口等domain package,目标是在任何Java语言的平台上都能直接使用,所以必须是平台无关,对平台没有任何依赖.

data为domain的实现,是Android library,从MVP的角度来说,即是M层,内部隐藏所有数据细节,cache、数据库、网络、

presentation即展示层,采用mvp设计模式,

MVP把Activity中的UI逻辑抽象成View接口,把业务逻辑抽象成Presenter接口,Model类还是原来的Model

V视图,P中介者,M模型,轻量设计模式,将藕合降到最低还是很不错的。

分离了视图逻辑和业务逻辑,降低了耦合

Activity只处理生命周期的任务,代码变得更加简洁

视图逻辑和业务逻辑分别抽象到了View和Presenter的接口中去,提高代码的可阅读性

Presenter被抽象成接口,可以有多种具体的实现,所以方便进行单元测试

把业务逻辑抽到Presenter中去,避免后台线程引用着Activity导致Activity的资源无法被系统回收从而引起内存泄露和OOM

Android基本架构搭建_第1张图片

将view中的操作用接口的形式表现,比如说登入操作,输入用户名,密码后然后请求服务器接收结果,这里我直接要求返回结果了

Android基本架构搭建_第2张图片
Android基本架构搭建_第3张图片

Common libraries

可以将一些公共的baseActivity,Fragment,utils抽出来放在一个common模块中

你可能感兴趣的:(Android基本架构搭建)