SP
Size: a a a
SP
SP
СП
ProjectId
и он будет уникальным среди всех типов проектов, так?СП
abstract class AbstractProject {
private ProjectId $id;
private ProjectDetails $details;
public function getId(): ProjectId;
public function changeName(string $name): void
{ ... }
public function changeStatus(ProjectStatus $status): void
{ ... }
...
}
final class XxxxProject extends AbstractProject {
}
SP
SP
СП
СП
ProjectDetails
SP
СП
ProjectDetails
, но я же не могу обращаться напрямую к ProjectDetails
, нарушается ведь правило о том, что нельзя лезть во внутриннее сущности агрегата минуя агрегат.$myProject->getProjectDetails()->changeStatus()
- это ведь не правильноSP
SP
СП
СП
SP
СП
SP
SP
СП
SP