怎样搭高质量的Android项目框架,框架的结构具体描述?

关注者
777
被浏览
23,971
根据经验,一个良好的架构设计可大致分三层:

— 上层是Activity、Fragment、Views&Widget等视图渲染和业务调用。
— 中层是针对业务的三方库,以及主要逻辑实现,业务流程在这完成,此层还可以细分,不再多表。
— 底层是业务无关的框架库,用之四海而皆准,各类库内高内聚,不同库间低耦合。

这样一个结构,使得你的代码快速在phone和pad以及tv之间迁移,便于业务的统一编写与调用,且让各模块更为清晰。

如图:


当然根据个人喜好不同,项目结构有区别,但基本要遵循MVC、逻辑视图分离等设计思想。

以上为结构级别,再细粒度一些,推荐反复理解实践设计模式的六大原则与23种设计模式,让项目整体更优雅可控。

自动化,智能化,约定优于配置等思想,恰当使用合需、轻量、可扩展的框架库可以帮助项目更稳定简单。

推荐阅读

设计模式六大原则

chjavach的博客

iluwatar/java-design-patterns · GitHub

LiteHttp - Get Start

以上回答于2015-03-24,架构思路于2013年开始实践。

——————————————————我是分割线——————————————————
由于业务和项目的发展,在以上结构的基础上我又更下了一下整体架构,现补充答案如下。
为了快速支持不同App,以及同款App不同终端,我给项目设计了以下结构:

层级的组成:

Lite SDK : 由HTTP、ORM、IOC、Async、Base/Common等通用组件组成。

App SDK:全部业务逻辑在这里实现,逻辑控制、数据解析和模型等在这实现。

App View层 :activity、fragment、layout、resource等在这里。


层级的作用:

Lite SDK : 功能层,重视通用、性能、便捷,作为底层快速支撑不同App。

App SDK:业务层,重视业务、逻辑、模型,作为中层快速支撑不同的终端。

App View层 :视图&控制层,重视交互、体验、布局、资源,作为上层快速实现视觉和界面­­­­。


简言之,LiteSDK因其通用性而快速支持不同App;AppSDK因其界面无关性而快速支持同款App的不同终端或者UI层;AppView层因两外两个底层的存在而得以快速开发视觉相关功能。


以上补充于2015-07-29,更多内容可以看我的开源站 def.so