假设我有一个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)
{
...
}
这是一种正确的方法,还是有缺点?