Php 域事件如何获取附加数据?
我正在用DDD建立一个电子商务系统。在这个系统中,我有两个有界上下文:Php 域事件如何获取附加数据?,php,domain-driven-design,domain-events,Php,Domain Driven Design,Domain Events,我正在用DDD建立一个电子商务系统。在这个系统中,我有两个有界上下文:Identity&Access和Sales 客户可以在表格中填写姓名、电子邮件和密码进行注册。然后在Sales上下文中,我向以下客户注册: $customer = new Customer($request->name, $request->email); $this->customers->add($customer); Customer聚合引发一个customerwasregisted事件 Ide
Identity&Access
和Sales
客户可以在表格中填写姓名、电子邮件和密码进行注册。然后在Sales
上下文中,我向以下客户注册:
$customer = new Customer($request->name, $request->email);
$this->customers->add($customer);
Customer
聚合引发一个customerwasregisted
事件
Identity&Access
上下文对此事件作出反应,并为该客户创建一个SystemUser
聚合:
$user = new SystemUser($email, $password);
$this->users->add($user);
我的问题:因为
客户
聚合不知道密码(而且客户也不知道注册的
事件)。如何从对标识和访问上下文的请求中获取此密码?我在这里看到两种解决方案:
如果您确实希望在I&a中有一个域策略,该策略将在收到“CustomerWarCreated”事件后创建用户,您可能不希望向新客户询问密码,而是在创建用户(非活动)后发送一个链接以激活其帐户并输入新密码。这种策略经常使用,但在流程完成之前,他们将无法登录
我要做的是——将这项工作委托给流程经理,该经理将协调两个BC之间的工作。电脑将知道密码并发送包含必要详细信息的适当命令
在这两种情况下,您都避免向销售业务连续性发送密码