1
我正在DDD中創建應用程序。我想知道兩件事:正確使用關於ddd中的命令處理程序
1-在RegisterUserHandler中創建值對象(id,email,password)是否正確?或者我必須創建一個特定的類來做到這一點?
2-有必要創建一個工廠到一個簡單的實體創建。我使用userfactory創建用戶,但我可以直接放入下一行:「$ user = User :: register($ id,$ email,$ password);」在RegisterUserHandler中並刪除userFactory?
//class RegisterUserHandler
public function handle(CommandInterface $command)
{
$id = Id::create();
$email = Email::create($command->email());
$password = Password::create($command->password());
$this->userFactory->create($id, $email, $password);
}
//class userfactory
public function create(Id $id, Email $email, Password $password)
{
$user = User::register($id, $email, $password);
return $user;
}