在 Android 开发中,采用干净架构(Clean Architecture)是一个很流行的开发方式。但是如果我们每次都需要手动搭建干净架构的文件结构会很费时费力,那么有没有一种快捷的方法来实现这个过程呢?答案是有的,我们可以通过 npm 包 generator-android-clean-architecture 来快速构建 Android 干净架构文件结构。
什么是 generator-android-clean-architecture
generator-android-clean-architecture 是一个 Yeoman 生成器,用于快速创建 Android 干净架构的文件结构。Yeoman 是一款现代化的前端开发工作流工具,它可以帮助我们快速创建一个工程骨架,节省开发者大量的时间。通过 generator-android-clean-architecture,我们可以快速创建干净架构的文件结构,包含了 Presenter、Interactor、Repository 等模块。
generator-android-clean-architecture 的安装和使用步骤
在使用 generator-android-clean-architecture 之前,我们需要先安装 Yeoman,如果您还没有安装 Yeoman,请执行以下命令进行安装:
npm install -g yo
安装完成之后,我们需要再安装 generator-android-clean-architecture,可以通过以下命令进行安装:
npm install -g generator-android-clean-architecture
安装完成之后,我们就可以使用 generator-android-clean-architecture 来创建 Android 干净架构的文件结构了。执行以下命令:
yo android-clean-architecture
然后按照提示输入相关的信息,包括项目名称、包名、组件名称等。输入完成之后,generator-android-clean-architecture 将会自动创建 Android 干净架构的文件结构,具体如下:
-- -------------------- ---- ------- ------- - ---------------- - -------- - ------- - - --------------- - - -------- - - - -------- - - - - ------- - - - - ----------- - - - - -------- - - - - - -------------- - - - - - --------- - - - - - ---------- - - - - - ---------- - - - - ------ - - - - - ----------- - - - - - ---------- - - - - ---------- - - - - - ---------- - - - - - ------------ - - - - - -------------- - - - - - ------------ - - - - - ------------ - - - - - ------------- - - - - ---------------- - - - - - ------ - - - - - ---------- - - - - - --------- - - - - - ------ - - - - --------- - - - - ------------ - - - ------- - - -------- - ---------------------- ----------------
generator-android-clean-architecture 的使用指南
生成的文件结构大概如下图所示:
大部分文件的名称已经可以很好地说明文件的作用,这里我们简单介绍一下与干净架构相关的几个模块:
- Data 层: 数据层主要包括 Repository 接口和 Local 数据源实现类,Repository 接口定义了数据的获取和保存方法,Local 数据源实现了具体的数据保存方法。
- Domain 层: 领域层主要包括业务实体、Interactor 和 Executor,业务实体是业务逻辑中的实体对象,Interactor 实现了业务逻辑,Executor 实现了线程,将 Interactor 抽象出来。
- Presentation 层: 表现层主要包括 View 和 Presenter 两个模块,View 负责视图交互的实现,而 Presenter 则是完成业务逻辑的实现和 View 与 Interactor 中间的桥梁。
generator-android-clean-architecture 生产的文件结构是比较标准化和规范的,使用的是 Koin 作为依赖注入框架,部分代码如下:
-- -------------------- ---- ------- --- ------------------ - ------ - -- ----------- --------------------------- -- -- ----- -- --------- - ------------------ ------ - - --- ------------ - ------ - -- ----------- -------------------------- -- -- ----- -- ------ - ------------------- ------ - - --- ---------- - ------ - -- ----------- ---------------------------- -- -- ----- -- ------ - ------------------- ------ - -- ------ - --------------------------------------- - -
如果需要将 Presenter 中的数据显示到 View 上,可以在 Activity/Fragment 中注入相应的 Presenter,并在 View 中调用 Presenter 中的方法,如下所示:
class MainActivity : AppCompatActivity(), MainView { private val presenter by inject<MainPresenter>() // ... override fun showData(data: String) { // 显示数据到 View } }
注:实现对应接口,并关联 Presenter 和 View。
使用 generator-android-clean-architecture 可以很好地帮助我们快速构建 Android 干净架构的文件结构,同时也可以提供一些参考,让我们更好地理解和实践 Android 干净架构。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005515c81e8991b448ce79b