总结

在本节中,我们完成了 Wordz 应用程序。我们使用集成测试和 TDD 驱动出了 Wordz 的 HTTP 端点。我们使用了开源的 HTTP 库——Molecule、Gson 和 Undertow。我们有效地使用了六边形架构。通过使用端口和适配器,这些框架成为了实现细节,而不是我们设计的定义特征。

我们将最终应用程序组装在一起,将领域层中的业务逻辑与 Postgres 数据库适配器和 HTTP 端点适配器结合起来。我们的应用程序共同构成了一个小型微服务。

在这最后一章中,我们实现了一个小规模但典型的微服务,包括一个 HTTP API 和一个 SQL 数据库。我们使用测试优先的方式开发代码,利用测试指导我们的设计选择。我们应用了 SOLID 原则来改进软件的整合方式。我们学习了六边形架构的端口和适配器如何简化与外部系统交互的代码设计。使用六边形架构与 TDD 自然契合,使我们能够使用 FIRST 单元测试开发核心应用程序逻辑。我们首先使用集成测试创建了数据库适配器和 HTTP 适配器。我们将 TDD 的节奏——红、绿、重构和 ArrangeActAssert——应用到我们的工作中。我们使用 Mockito 库应用了测试替身,以简化开发。

在本书中,我们涵盖了广泛的 TDD 和软件设计技术。我们现在可以创建缺陷更少的代码,并且这些代码更安全、更易于使用。

问题与解答

进一步阅读