DDD&事件采购:处理变更

时间:2018-01-31 18:47:48

标签: java-ee domain-driven-design event-sourcing

我已经阅读了几周的事件采购和DDD。所以,我需要创造一种无处不在的语言。它究竟意味着什么?我需要创建一些定义某些域类的库,不是吗?

所以,我本来会创建一个mydomain-language-artifact.jar工件,它应该由我的服务AB使用。

  1. 这件神器到底应该包含什么?域类(Order,OrderLine,Customer ......)。
  2. 是否应包含EventValue ObjectsAggregates类?
  3. 因此,猜测一切正常,我的域模型发生了变化,我的意思是,Customer有一个新的alias字段。所以这意味着我应该更改我的mydomain-language-artifact.jarCustomer课程中添加此更改,不应该吗?

    因此,这意味着可能EventsValue ObjectsAggregates也会发生变化。可能CustomerAddedEvent将包含alias字段。那么,Event Store中存储的以前的事件呢?我怎么能重播它们并重建我的系统?

1 个答案:

答案 0 :(得分:2)

通过与域专家交谈,无处不在的语言是识别所需要的。此刻你正在以非常错误的方式学习DDD,因为你把它当成食谱。

DDD的目的是通过识别用例,概念和关系,相关模型等来理解域功能。这只是信息,我们使用DDD的战术模式进一步组织。

这不是关于编写域类,这表明你的心态仍然远离DDD的意思。我花了5年时间才得到DDD,不要指望它在2-3周内通过阅读1-2本书来“学习”它。不写代码需要练习和很多纪律。代码是实现,它从DDD结束的地方开始。

与事件采购相同。虽然更容易理解的是与DDD耦合的方式,因为这些域事件需要正确识别

你要求许多无法真正回答的通用问题,因为它取决于...... DDD的特殊之处在于我们会根据具体情况专注于细节

wrote关于DDD,特别是关于需要理解的心态。希望它会对你有所帮助。