Size: a a a

Software Design/Architecture/Zen

2020 October 20

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Добрый день!

Как считаете, события можно делать с публичными свойствами:

final class SomeThingCreated
{
   public string $id;
   public string $name;

   public function __construct(string $id, string $name)
   {
       $this->id = $id;
       $this->name = $name;
   }
}


Или лучше делать полностью неизменяемый объект:

final class SomeThingCreated
{
   private string $id;
   private string $name;

   public function __construct(string $id, string $name)
   {
       $this->id = $id;
       $this->name = $name;
   }

   public function getId(): string
   {
       return $this->id;
   }

   public function getName(): string
   {
       return $this->name;
   }
}
источник

VS

Vyacheslav Startsev in Software Design/Architecture/Zen
Сергей Предводителев
Добрый день!

Как считаете, события можно делать с публичными свойствами:

final class SomeThingCreated
{
   public string $id;
   public string $name;

   public function __construct(string $id, string $name)
   {
       $this->id = $id;
       $this->name = $name;
   }
}


Или лучше делать полностью неизменяемый объект:

final class SomeThingCreated
{
   private string $id;
   private string $name;

   public function __construct(string $id, string $name)
   {
       $this->id = $id;
       $this->name = $name;
   }

   public function getId(): string
   {
       return $this->id;
   }

   public function getName(): string
   {
       return $this->name;
   }
}
можно со стат. анализатором в CI
поставишь какой-нибудь @psalm-immutable над классом и все
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Vyacheslav Startsev
можно со стат. анализатором в CI
поставишь какой-нибудь @psalm-immutable над классом и все
Если без анализтора, то лучше с геттерами, выходит
источник

VS

Vyacheslav Startsev in Software Design/Architecture/Zen
все зависит от дисциплины разработчиков тогда)
источник

VS

Vyacheslav Startsev in Software Design/Architecture/Zen
если клянутся, что ни за что не будут менять такие объекты и ты и веришь - можно и без геттеров)
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Геттеры не долго сделать, благо в шторме есть даже генератор)
источник

R

Roman in Software Design/Architecture/Zen
Господа, привет. Подскажите, как бороться с огромным количеством аргументов, перекидываемых из контроллера в сервис, а из сервиса в репозиторий? Для сервиса можно создать Command, а как быть с репо?
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Roman
Господа, привет. Подскажите, как бороться с огромным количеством аргументов, перекидываемых из контроллера в сервис, а из сервиса в репозиторий? Для сервиса можно создать Command, а как быть с репо?
А почему репозиторий уходит огромное количество аргументов?
источник

R

Roman in Software Design/Architecture/Zen
Потому что модель содержит их. Вот, например, начал добавлять в создание промокода параметры, их уже пять. И может увеличиться
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Хм. В репозиторий по идее должен уходить уже созданный объект.
источник

R

Roman in Software Design/Architecture/Zen
🤔
источник

R

Roman in Software Design/Architecture/Zen
А видимо ты прав
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
Команда передаёт аргументы в сервис.
Сервис создаёт сущность и отправляет её в репозиторий на хранение
источник

R

Roman in Software Design/Architecture/Zen
Точно. Я тупой. Спасибо!
источник

R

Roman in Software Design/Architecture/Zen
Сергей Предводителев
Команда передаёт аргументы в сервис.
Сервис создаёт сущность и отправляет её в репозиторий на хранение
Как-то так?
источник

СП

Сергей Предводителев... in Software Design/Architecture/Zen
похоже вроде
источник

АК

Андрей Кутяев... in Software Design/Architecture/Zen
Привет! Кто может посоветовать реальные эффективные курсы/уроки и т.д. чтобы заговорить на английском?
источник

BT

Bohdan Turchyk in Software Design/Architecture/Zen
советую задавать такие вопросы в каком - нибудь оффтоп чате
источник

АК

Андрей Кутяев... in Software Design/Architecture/Zen
Bohdan Turchyk
советую задавать такие вопросы в каком - нибудь оффтоп чате
ну вроде как к программированию относится. рабочий инструмент... с языком раза в два больше платят
источник

BT

Bohdan Turchyk in Software Design/Architecture/Zen
Андрей Кутяев
ну вроде как к программированию относится. рабочий инструмент... с языком раза в два больше платят
но к теме чата не относится
источник