我找到了这个代码示例。
https://code.google.com/p/ddd-cqrs-sample/
看起来非常完整且组织良好。不是“框架”,只是一个具有非常精细和明确的做事方式的示例项目。但是,不完整。这带来了一些疑问。
他们擅长回答你的问题。在https://groups.google.com/forum/#!forum/ddd-cqrs-sample查看他们的 google 组
好的。问题是他们在 SALES BC 中有客户,在 CRM BC 中有客户/潜在客户。我想我们都同意指向同一个“人”。假设在销售漏斗中,此人从销售线索开始,然后通过购买使他成为客户的东西成为客户。
我的问题是,为什么他们对同一个“人”有三个不同的表示?它不能像“共享内核聚合”吗?我不知道这样的事情是否存在。在数据库 Client/Customer/Leads 中有三个表用于相同的“事物”,这让我有点困扰。另外,在示例中不清楚(未实施 CRM)您如何在 BC 之间进行通信。我阅读了他们的文档,但找不到任何有价值的线索。
那过程会怎样?假设您需要将此潜在客户/客户/客户添加一个地址来运送订单。你会选择哪一个?我猜是 Shipping BC 中的 ShippingAddress 吗?用 Id 指向?顾客?客户?您是否应该将地址直接添加到客户?以直邮为例,因为它与航运无关?