Добрый день. Необходимо присваивать рейтинг организации.
public function __construct(
OrganizationID $id,
Name $name,
array $phones,
array $addresses,
Specialization $specialization
) { }
Первоначальный рейтинг может присваиваться при сохранении организации и зависит от Specialization (это специализации организации, чем больше, тем лучше). Как это организовать?
Делать это в сервисе при создании?
public function create(OrganizationRepositoryInterface $repository, OrganizationRatingService $rating): void
{
$organization = new Organization(
...
$this->repository = add($organization)
$rating (Вот что сюда передать, только специализации? а как потом сохранить?
)
}
Считать ли рейтинг сразу в Entity при создании? Типа
public function __construct(
OrganizationID $id,
Name $name,
array $phones,
array $addresses,
Specialization $specialization,
OrganizationRatingService $rating
) {
$rating->setRating($specialization);
}
Как правильно? Установка рейтинга - это бизнес правило. Вроде тогда должно быть в сущности. С другой стороны - сам сервис рейтинга это много всеразличных вариантов и захламлять сущность как то не очень.
Где его считать?