常见问题解答 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

常见问题解答

我为什么要使用六角形架构?

Hexagonal 架构将开发人员的注意力转移到领域逻辑上,简化了测试自动化,并提高了代码质量和适应性。这些改进可以缩短上市时间,更轻松地扩大技术和组织规模。

我为什么要使用域名驱动的设计?

域驱动设计 (DDD) 使您能够使用业务利益相关者和工程师之间的通用语言来构建软件组件和结构。DDD 可帮助您管理软件的复杂性,是长期维护软件产品的有效策略。

我可以在没有六角形架构的情况下练习测试驱动的开发吗?

是。测试驱动开发 (TDD) 不仅限于特定的软件设计模式。但是,六角形架构使练习 TDD 变得更加容易。

我能否在没有六角形架构和域驱动设计的情况下扩展我的产品?

是。大多数设计模式都可以实现技术和组织产品的扩展。但是,六角形架构和DDD使其更易于扩展,并且从长远来看,对于大型项目更有效。

我应该使用哪些技术来实现六角形架构?

Hexagonal 架构不仅限于特定的技术堆栈。我们建议您选择支持依赖反转和单元测试的技术。

我正在开发一种最低限度的可行产品。花时间思考软件架构有意义吗?

是。我们建议您使用自己熟悉的设计模式 MVPs。我们鼓励您尝试练习六角形架构,直到您的工程师对它感到满意。为新项目建立六角形架构不需要比在没有任何架构的情况下开始所需的时间投入要多得多。

我正在开发一种最低限度的可行产品,没有时间写测试。

如果您的 MVP 包含业务逻辑,我们强烈建议您为其编写自动测试。这将减少反馈回路并节省时间。

我可以在六角形架构中使用哪些其他设计模式?

使用 C QRS 模式来支持整个系统的扩展。使用存储库模式来存储和恢复您的域模型。使用工作单位模式来管理事务处理步骤。使用组合而不是继承来对域聚合、实体和值对象进行建模。不要构建复杂的对象层次结构。