我正在尝试理解Udi Dahan 说明的关于在特定情况下添加新域实体的域事件模式。
现在通常使用实体创建它们,然后通过存储库添加它们。我想我还会这样做吗?
我的例子是我们通常将资产添加到系统中。像这样:
var asset= new Asset();
/*bunch of prop setting*/
_assetRepository.Add(asset);
然而,资产创建是我们希望遵循某些流程的结果。因此,开发人员建议我们不再需要这样做,因为它可以由域事件处理:
var asset= new Asset();
/*bunch of prop setting*/
asset.Create(location);
现在 create 方法将引发一个事件并由一个 create 事件处理程序处理,该事件处理程序基本上只是将其插入到 repo 中,并做一些其他的事情给创建位置的仓库经理发送电子邮件等。
然而,在资产上创建事件对我来说看起来非常活跃。然而,在领域中,人们谈论正在创建的新资产。所以我们不确定。
想法?