DesignResCollection提供一个 APP 的不同架构实现
DesignResCollection
提供同一个 App 的不同架构实现,对其进行对比分析,方便大家选取使用
项目启发来自谷歌的同类框架项目 https://github.com/googlesamples/android-architecture
Android 的框架多用 MVC 模型进行开发,而其中的 Activity 经常承担了大量的 V 和 C 的工作,既处理逻辑又处理 UI。
因此 Activity 中很容易聚集大量代码,造成结构复杂混乱、测试维护困难等诸多不便。
这个项目就是为了帮助解决这个问题。其中将提供一个相同的应用程序,然后使用不同的框架实现之。
您可以使用本项目中的示例代码作为参考,或者直接作为项目的架子在此之上继续开发自己的项目。
本项目中,主要关注的重点在于代码的结构框架、测试以及可维护性。
但是要注意,这里提供了不同的架构,各自有自己的优缺点。因此在选取时要根据自己的需要选择对应的框架结构。
比如你只是一个简单的 App,不需要单元测试,功能UI都比较少,那直接 MVC 结构即可。
显示设计网站中收集来的资源的一个应用 DesignResCollection,不同结构对应不同的[_结构后缀]。
比如基本的 MVP 结构就是 DesignResCollection_MVP。不同结构的具体介绍请查看对应文件夹中的README.md
DesignResCollection_MVC/ - Model-View-Controller 结构。
DesignResCollection_MVP/ - Model-View-Presenter 结构。
DesignResCollection_MVP-Dagger2/ - 基于 Model-View-Presenter 结构,添加Dagger2框架。
DesignResCollection(ing...) - 完整App代码,不断丰富完善中,实现一个最终完整版。本项目中的示例是基于此项目做了功能和页面上的精简,便于演示不同代码结构。
DesignCollectionCloudEngine - 部署在LeanCloud上的云代码项目,用于定时爬取数据保存到LeanCloud中为应用提供数据来源的。
2016.8.17~
DesignResCollection_MVP/ - Model-View-Presenter 结构。
使用 LeanCloud 作为后端服务,比较简单,无需自行开发。
使用 LeanCloud 的 Restful-API 接口。(不用 LeanCloud 的 Android SDK,更贴近于实际开发中用开发接口文档的情景)
网络框架部分使用 Retrofit2.0 + RxJava。
图片使用 Glide。
代码助手Model 常见工具类、功能等都封装到了这个依赖 Model 中,一来为了方便,二来让注意力更集中在项目框架结构上。
每个框架示例中都有一个 README,你可以先查看下每种的特点。
最终项目里还会对比下所有框架的优缺点列出来,方便你根据自己具体情况进行全面的比较选取。
下载~ 解压~ Open对应框架项目的文件夹