Logo
Section 1 / 5

本课程主要内容是什么?

本课程概述了目标受众、课程内容及学习成果。

导入

本课程主要内容是什么?

本课程概述了目标受众、课程内容及学习成果。

让我们首先了解一下本课程的目标受众。

目标受众

本课程面向希望深入学习函数式编程的中级 Scala 程序员。课程主要聚焦于后端 Web 服务开发。理想情况下,学员应具备使用 Akka HTTP 和 Slick 等库的经验,这些库在该领域应用广泛。

Scala 是一种广泛使用的通用编程语言,同时支持面向对象和函数式编程。在本课程中,你将深入探索 Scala 的函数式特性。

...

课程内容

我们将从一个小型应用场景开始。通过分析引用透明性,你将学习到纯函数与不纯函数之间的区别。随后,你将逐步以纯和不纯两种方式实现该场景。

下一节课将提供 API 服务的正式接口说明。

在实现过程中,我们将同步进行构建、测试和文档编写,并指出所需的关键工具。课程中将涵盖以下核心概念:

1. 不纯服务

对于不纯服务,我们将使用以下库:

尽管这些库经过实战检验且表现良好,但我们仍可以做得更好。

现在的问题是:“我们如何做得更好?”答案是采用纯服务,这将在后续章节中详细探讨。

2. 纯服务

针对纯服务场景,我们将使用以下库:

3. 性能基准测试

在完成服务的构建与测试后,我们将对纯与不纯实现的 API 性能进行对比分析。

4. 文档化

接下来,我们将深入探讨如何为纯服务和不纯服务编写文档。我们将利用 Swagger 和 tapir 来为纯服务生成文档。

学习成果

本课程旨在让你掌握纯与不纯服务实现技术。课程结束后,你将对这两种技术的工作原理、优缺点有深刻理解,并认识到纯实现在以下方面具有更强的稳健性:

  • 可读性
  • 可测试性
  • 性能
  • 类型安全性等

服务规范与API