客户端架构设计
客户端设计 目的是整体设计客户端App,架构上打好铺垫.
Android客户端架构设计
主要从以下几个方面进行设计:MVP设计风格、整体架构、日志系统、网络系统、本地存储、Test模块.
MVP设计风格
MVP即“Model —— Presenter —— View”,应用在Android中可以实现Activity和业务逻辑的解耦,简化Activity的规模。现在Gitbub上暂时没有合适的通用的MVP框架,我们可以基于Gitbub: Android MVP Demo 开源项目实现MVP模式。也可参考MVP开源项目Simple_news: MVP新闻客户端。
基本原理:
-
View:接口,声明所有的View相关的操作,包括GetValue、SetValue、Progress、Navigator等。MVP思想的核心,通过提取View接口,实现了Activity和Presenter的解耦。
-
Activity: View接口的实现,初始化界面,初始化View中的控件,调用Presenter完成业务逻辑
-
Model:涉及到的数据对象,以及对数据的操作,比如可以把IO操作放到Model层
-
Presenter:业务逻辑的实现,业务逻辑处理完成之后通过View接口操作UI,作用的数据是Model.
整体架构
依赖注入型框架:
-- Dagger
阿里手淘项目推荐使用
项目地址:https://github.com/square/dagger
原理剖析文档:http://square.github.io/dagger/
-- ButterKnife
视图注入型框架
项目地址:https://github.com/JakeWharton/butterknife
文档介绍:http://jakewharton.github.io/butterkn