Je crée une application dans DDD. Je veux savoir deux choses:Utilisation correcte des gestionnaires de commandes dans ddd
1- Est-il correct de créer les objets de valeur (id, email, mot de passe) dans le RegisterUserHandler? ou je dois créer une classe spécifique qui fait cela?
2- Il est nécessaire de créer une fabrique pour une création d'entité simple. J'utilise userfactory pour créer l'utilisateur, mais je peux mettre directement la ligne suivante: "$ utilisateur = Utilisateur :: registre ($ id, $ email, $ mot de passe);" dans le RegisterUserHandler et supprimer la 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;
}