cloudcreativity / ddd-modules
PHP 中领域驱动实现的模块。
v2.0.0-rc.2
2024-07-27 12:35 UTC
Requires
- php: ^8.1
- ext-json: *
- psr/log: ^1.0.1 || ^2.0 || ^3.0
- ramsey/uuid: ^4.7
Requires (Dev)
- laravel/pint: ^1.15
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.4
This package is auto-updated.
Last update: 2024-09-03 12:33:36 UTC
README
编写高度封装且松散耦合的模块,用于以领域为中心的架构。
这是什么?
你已经决定使用领域驱动设计(DDD)作为你的架构方法。你已经与业务专家进行了交流,甚至可能举办了一些事件风暴会议,现在你可以流畅地使用你的领域通用语言。现在你需要开始编写领域代码。
但怎么办?! 🤔
你的代码应该如何结构?你如何确保你编写的边界上下文是完全封装的?你如何强制实施边界上下文之间的架构边界,并确保它们是松散耦合的?
别担心,我们有解决方案!
此包提供了一种概念方法和一系列工具,帮助你以 PHP 编写松散耦合和高度封装的边界上下文 - 或模块。
无论你是要将单体应用程序拆分为模块化单体,还是构建微服务架构,此包都将帮助你保持边界上下文的清晰、高度单元可测试和易于推理。它还确保你在所有边界上下文中保持代码一致性,同时允许每个上下文根据其特定需求进行大量定制。
从哪里开始?
此包提供了一套常见的 PHP 工具集,用于编写以领域为中心的模块。
直接进入代码可能很有诱惑力 - 你需要抵制这种诱惑!
实现高度封装和松散耦合模块的关键在于 如何使用本包中的工具。这在文档中有描述 - 因此在使用这些工具之前,请确保阅读文档。
安装
composer require cloudcreativity/ddd-modules
许可证
DDD Modules 是开源软件,使用 MIT 许可证许可。