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;
}