Android应用构架
Posted 小坤_Android
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android应用构架相关的知识,希望对你有一定的参考价值。
android 应用构架
我们每一个安卓开发者都很头疼,现在的安卓需求越来越难了,整体代码莲藕性不好。
我们都在想用什么来架构一个应用,从而保证app的灵活性和需求的改变性,我们都知道当程序中代码越少bug就会越少,我们的目的就是以最少的代码来开发
最有效的app。
首先,我们先要想想每一个app必须有的东西,不变的东西是什么?把它封装起来(以不变应千变),我们都知道开发一个app基本都是让view来展示我们
的数据,所以我就把一个app通用构架分三类:
外层包:UI、存储、网络等
中间层包:Presenter、Converter
内层包:Interactor、Model、Repository、Executor
外层
正如之前所提到的,该层是框架的具体细节所在。
UI——这是所有Activity、Fragment、适配模块和其他与用户接口相关的Android代码存在的地方。
存储——Interactor访问和存储数据所需要使用的接口代码。例如,它包括了ContentProvider或者DBFlow等ORM。
网络——包括了Retrofit等。
中间层
负责将实现细节和业务逻辑连接起来的粘合层。
Presenter——Presenter负责处理来自UI的事件(如用户点击等)和内层模块(如Interaactor等)的回调。
Converter——Converter对象负责内层模型与外层模块的相互转换工作。
内层
该层包含了绝大部分高级代码。其中所有的类都是POJO。该层中的类和对象对于Android应用相关的东西一无所知,因此可以被轻易移植到任何运行JVM的机器中。
Interactor——这就是包含实际的业务逻辑代码的类。他们在后台运行,并通过回调函数将事件报告给上层。在一些项目中,他们也被称作用例。通常情况下,项目中可能包含很多小的Interactor类,用来分别解决特定的问题。这符合了单一职责原则,也比较容易对类进行理解。
模型——这些就是在业务逻辑中进行处理的业务模型。
Repository——该包只包含了数据库或者其他外层实现的接口。Interactor使用这些接口来访问和存储数据。这就是所谓的repository模式(https://msdn.microsoft.com/en-us/library/ff649690.aspx)。
Executor——该包涵盖了使得Interactor在后台运行所需要的代码。一般情况下,用户不需要修改该包。
我们在以后的开发中多注意些,多用些java的面向对象的三大特征,多想想,希望以后开发更加有效率,优美的app。
以上是关于Android应用构架的主要内容,如果未能解决你的问题,请参考以下文章