应用架构指南全新发布

2022 年 2 月 12 日 谷歌开发者
作者 / 开发者关系工程师 Manuel Vicente Vivo

随着 Android 应用规模不断扩大,适当使用架构设计代码变得十分重要,以此实现应用扩展,改善其质量稳健性,并让其更易于测试


应用架构定义了应用各部分之间的界限和每个部分应承担的职责。这遵循了关注点分离原则,有利于实现上述优势。

https://zh.wikipedia.org/wiki/%E5%85%B3%E6%B3%A8%E7%82%B9%E5%88%86%E7%A6%BB


为满足社区对应用架构最新指南的需求,我们发布了经过修订的应用架构指南,其中包括构建稳健、高质量应用的最佳实践和推荐架构。指南还针对推荐架构的各个层级提供了说明: 界面层网域层数据层。您可以在其中发现对更复杂主题的深入探讨,例如,如何处理界面事件


  • 经过修订的应用架构指南
    https://developer.android.google.cn/jetpack/guide

  • 界面层
    https://developer.android.google.cn/jetpack/guide/ui-layer

  • 网域层
    https://developer.android.google.cn/jetpack/guide/domain-layer

  • 数据层
    https://developer.android.google.cn/jetpack/guide/data-layer

  • 界面事件
    https://developer.android.google.cn/jetpack/guide/ui-layer/events


每个 Android 应用至少应包含两层:
  • 在屏幕上显示应用数据的界面层:

    https://developer.android.google.cn/jetpack/guide/ui-layer
  • 包含应用业务逻辑并公开应用数据的数据层:

    https://developer.android.google.cn/jetpack/guide/data-layer


您可以额外添加一个网域层,来简化和重用界面和数据层之间的交互。

https://developer.android.google.cn/jetpack/guide/domain-layer

△ 典型应用架构的一般示意图。
界面层从可选的网域层或公开应用数据的数据层中获取应用数据。

我们创建了一个学习计划,来帮助您以可追踪的方式按顺序理解这些内容。

https://developer.android.google.cn/courses/pathways/android-architecture

完成学习还可以获得徽章,精彩学习内容,不容错过!



选择更适合您的方式


如果您是一名初学者,您应该首先了解拥有应用架构的好处,然后遵循这些建议,并将其作为深入主题的首选方法。中级和高级开发者可以遵循这些建议,并根据自己的需求自定义。事实上,我们的研究表明,大多数专业开发者已经在使用这些最佳实践。


您可能想知道是否应更新现有的架构来遵循此建议,答案是……这取决于您。如果您当前的架构适合您的团队,那么保持不变无可厚非。不过,您也有可能从我们的指南中找到可以从中受益的部分,并将它融入您的应用。



期待更多精彩


这是我们发布的首批文档,在今年还会有更多内容发布。欢迎您帮助我们改进指南!如果您对当前的建议有任何反馈,或者您想在其中看到其他架构相关主题,请在官方问题跟踪页告知我们。也欢迎您持续关注 "Android 开发者" 微信公众号了解更多最新内容。


  • 问题跟踪页
    https://issuetracker.google.com/issues/new?component=192697&template=845603


推荐阅读

如页面未加载,请刷新重试


  点击屏末  | 即刻查看应用架构指南




登录查看更多
0

相关内容

【AI与工业】2022最新发布《工业物联网AI框架》59页PDF
专知会员服务
142+阅读 · 2022年3月30日
AI 参考架构及其在金融行业的应用,IBM12页pdf
专知会员服务
51+阅读 · 2022年3月23日
【开放书】《命令行数据科学指南(第二版)》
专知会员服务
42+阅读 · 2021年12月13日
【开放书】Python + Matplotlib可视化指南,249页pdf
专知会员服务
97+阅读 · 2021年11月17日
专知会员服务
79+阅读 · 2021年7月21日
最新《图神经网络实用指南》2020论文,28页pdf
专知会员服务
221+阅读 · 2020年10月17日
畅玩新方式 | Google Play 游戏 Beta 版在 PC 上发布
谷歌开发者
0+阅读 · 2022年4月15日
深度解析 Jetpack Compose 布局
谷歌开发者
0+阅读 · 2022年3月31日
社区说|Android 架构演进之 MVI 详解
谷歌开发者
0+阅读 · 2022年3月29日
社区说|使用 Firebase 搭建 Android 应用
谷歌开发者
0+阅读 · 2022年3月24日
使用 Compose 构建 Wear OS 应用
谷歌开发者
0+阅读 · 2022年3月17日
CameraX 1.1 有哪些新的特性发布?
谷歌开发者
0+阅读 · 2022年1月21日
正式版 API 确定 | Android 12L Beta 1 发布
谷歌开发者
0+阅读 · 2021年12月9日
Android 12 正式发布 | 开发者们的全新舞台
谷歌开发者
0+阅读 · 2021年10月11日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
16+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Verified Compilation of Quantum Oracles
Arxiv
0+阅读 · 2022年4月20日
Arxiv
31+阅读 · 2022年2月15日
A Survey on Edge Intelligence
Arxiv
50+阅读 · 2020年3月26日
Arxiv
11+阅读 · 2019年4月15日
VIP会员
相关VIP内容
【AI与工业】2022最新发布《工业物联网AI框架》59页PDF
专知会员服务
142+阅读 · 2022年3月30日
AI 参考架构及其在金融行业的应用,IBM12页pdf
专知会员服务
51+阅读 · 2022年3月23日
【开放书】《命令行数据科学指南(第二版)》
专知会员服务
42+阅读 · 2021年12月13日
【开放书】Python + Matplotlib可视化指南,249页pdf
专知会员服务
97+阅读 · 2021年11月17日
专知会员服务
79+阅读 · 2021年7月21日
最新《图神经网络实用指南》2020论文,28页pdf
专知会员服务
221+阅读 · 2020年10月17日
相关资讯
畅玩新方式 | Google Play 游戏 Beta 版在 PC 上发布
谷歌开发者
0+阅读 · 2022年4月15日
深度解析 Jetpack Compose 布局
谷歌开发者
0+阅读 · 2022年3月31日
社区说|Android 架构演进之 MVI 详解
谷歌开发者
0+阅读 · 2022年3月29日
社区说|使用 Firebase 搭建 Android 应用
谷歌开发者
0+阅读 · 2022年3月24日
使用 Compose 构建 Wear OS 应用
谷歌开发者
0+阅读 · 2022年3月17日
CameraX 1.1 有哪些新的特性发布?
谷歌开发者
0+阅读 · 2022年1月21日
正式版 API 确定 | Android 12L Beta 1 发布
谷歌开发者
0+阅读 · 2021年12月9日
Android 12 正式发布 | 开发者们的全新舞台
谷歌开发者
0+阅读 · 2021年10月11日
相关基金
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
1+阅读 · 2013年12月31日
国家自然科学基金
16+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Top
微信扫码咨询专知VIP会员