模块化 - 现实生活中的例子
通过清楚地了解多模块应用程序应该如何构建,让我们深入了解一个真实的实际例子。
我们将了解架构如何产生清晰的应用程序结构,如何处理导航,如何使用分阶段部署,如何测试所有内容,甚至查看使用此体系结构的生产应用程序。
源代码
此博客文章的所有源代码均可在Github上获得。
这不是一个功能齐全的应用程序,而是一个高度集中的示例,仅专注于演示模块化体系结构。
应用结构
三层应用程序功能库架构的主要优势之一应该是在整个应用程序和源代码中进行清晰的导航。所以让我们调查一下这个承诺是否成立。
查看项目的根文件夹,以下结构变得清晰:
.
├── app
├── features
│ ├── dashboard
│ ├── login
│ └── sharing
└── libraries
├── actions
└── ui-components
简单吧?
有一个应用程序,包括出三个特点:dashboard
,login
,和sharing
。它有几个库支持:actions
和ui-components
。所有功能和库模块分别在功能和库文件夹中分组。
但这些功能本身有什么作用?
我们来看看各自的导航图吧!首先是仪表板:
显然,这个应用程序似乎是关于照片!
但导航图看起来有点奇怪(没有目的地),这是因为这不是一个实际的功能图!导航组件不支持使用底部选项卡显示活动的图形(但是?)。
那么让我们更仔细地看看DashboardActivity:
在这里,主要的仪表板由三个选项卡组成:照片,专辑和社交。
现在让我们看一下Login功能: