Android Architecture: Part 3 – Applying Clean Architecture on Android

本次翻译的是five.agency.android的博客文章。
原文链接:Android Architecture: Part 3 – Applying Clean Architecture on Android

本次翻译不照搬原始文章中的每一个单词,原文请跳转链接!

The Android Clean Architecture Diagram

移除一些在Android项目中不会用到的东西。

It looks like this:
The Android Clean Architecture Diagram
从抽象的中心区域分析到边缘。

Entities

Entities,也称为 domain objects,business objects,是项目的核心。

  • 它包含业务逻辑,但是仅限于验证它自己或者类似的东西。
  • 它不会和平台相关的细节直接交互,比如不会处理持久化这种东西。
  • 举例,比如是新闻相关的项目,Entities is Category, Article, and Commercial, e.g。

Use cases

Use cases,也称为 interactors,business services,是Entities / business logic的扩展。

  • 它会对多个Entities 进行一些逻辑处理。
  • 举例,比如 “将钱从一个账户转到另一个账户”

Repositories

Repositories用于持久化Entities。

  • 它是Use cases 的 Output Port。
  • 它是interfaces,具体的持久化策略,例如DB,Internet在外层实现。

Presenters

Presenters的正式叫法应该是 supervising controller,即监督控制器。

  • 它处理用户交互,调用适当的business services,并将数据发送到UI进行渲染。

Device

Device包含了平台相关技术细节,比如 sensors, alarms, notifications, players, Managers。

具体包含2个部分:

  • 第一部分,定义在Use cases中的接口,用于作为 Output Port,例如命名为Gyroscope, Alarm, Notifications, Player, etc,都是抽象相关的。
  • 第二部分,是接口的具体细节,大多数是Android Mannager类的包装类。

DB & API

DB & API是Repositories的具体策略细节,比如ROOM,Retrofit等等。

UI

Android UI相关的东西,Activitys,Fragments,Views,Adapters,etc.

最后,将这些进行分组。

Android studio Modules

like this:

Modules Group

  • domain module

    该module可以为一个纯Java module。
    entities, use cases, repositories, and device interfaces.

  • device module

    everything related to Android.

  • data module

    everything related to data persistence. DB,API,e.g.

  • app module

    UI,presenters.

Clean architecture: It may be complicated – but it’s worth it

易于测试,易于修复,易于新功能,代码易读和维护,everything works perfectly。

It looks like this:

满足单一职责原则
SRP
业务逻辑和平台隔离
not mixed with android
易于测试
testable
满足利益相关者
在这里插入图片描述
该篇只是Clean Architecture在Android上的理论基础,还有一篇是Five的一篇Sample相关,这里就不再一一翻译了。

有需要的可以跳转一下链接,分别是博文和源码地址

博文: Five Agency Android Clean Architechture
源码: Sample source code

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值