コマンドがあるとしますCreateUser
:
class CreateUser
{
public string $email;
public string $password;
public string $firstName;
public string $lastName;
public LocalDate $dateOfBirth;
public ?string $location;
}
User
モデルがこのコマンドをコンストラクターのパラメーターとして受け入れても問題ありませんか?
つまり、これを使用する代わりに:
class User
{
public function __construct(
string $email,
string $password,
string $firstName,
string $lastName,
LocalDate $dateOfBirth,
?string $location
) {
...
コマンド ハンドラーにコマンド データをモデルにマップさせると、モデル コンストラクターにコマンドをパラメーターとして受け入れさせ、必要なデータを抽出させることができます。
class User
{
public function __construct(CreateUser $command)
{
...
}
これは正しいアプローチですか、それとも欠点はありますか?