Your Site Title

Android Framework

常见的架构原则

分离关注点

ActivityFragment 中写所有代码是错误的, 它们只是系统和应用间的粘合类.

通过数据模型驱动界面

应该通过数据模型驱动界面(最好是持久性模型)。数据模型代表应用的数据。

持久性模型是理想之选,原因如下:

单一数据源(SSOT)

在离线优先应用中,应用数据的单一数据源通常是数据库。在其他某些情况下,单一数据源可以是 ViewModel 甚至是界面。

单向数据流(UDF)

在我们的指南中,单一数据源原则常常与单向数据流 (UDF) 模式一起使用。 在 UDF 中,状态仅朝一个方向流动。修改数据的事件朝相反方向流动。

推荐的应用架构

界面层

界面层由以下两部分组成:

数据层

应用的数据层包含业务逻辑。业务逻辑决定应用的价值,它包含决定应用如何创建、存储和更改数据的规则。 数据层由多个代码库组成,其中每个代码库可包含零到多个数据源。您应该为应用中处理的每种不同类型的数据分别创建一个存储库类。

代码库类负责以下任务:

网域层

该层中的类通常称为用例或交互方。每个用例都应仅负责单个功能。 例如,如果多个 ViewModel 依赖时区在屏幕上显示适当的消息,则您的应用可能具有 GetTimeZoneUseCase 类。

管理组件之间的依赖关系

常见的最佳做法

架构的优势

在应用中实现良好的架构会为项目和工程团队带来诸多好处:

Reference

应用架构