Я строю систему электронной коммерции с использованием DDD. В этой системе у меня есть два ограниченных контекста: Identity & Access
а также Sales
,
Клиенты могут зарегистрироваться, заполнив форму со своим именем, адресом электронной почты и паролем. Тогда в Sales
В контексте я регистрирую клиента с:
$customer = new Customer($request->name, $request->email);
$this->customers->add($customer);
Customer
совокупность поднимает CustomerWasRegistered
событие.
Identity & Access
контекст реагирует на это событие и создает SystemUser
агрегат для этого клиента:
$user = new SystemUser($email, $password);
$this->users->add($user);
Мой вопрос: потому что Customer
агрегат не знает о пароле (и ни CustomerWasRegistered
событие). Как я могу получить этот пароль из запроса к Identity & Access
контекст?
Я вижу два решения здесь:
В обоих случаях вы избегаете посылать пароль в Sales BC.
Других решений пока нет …