Size: a a a

2021 October 01

SP

Sergey Protko in symfony
не использовать наследование/расширение типов там где оно не работает)
источник

V

Vui in symfony
Спасибо. В дто структура базовая но дело не типизации свойств а в дополнительных свойствах
источник

SP

Sergey Protko in symfony
базовые структуры в DTO это тоже обычно источник проблем. поменял базовую структуру и потом хер знает кто на это был завязан. провацирует тот самый "каскад изменений" с которым OCP из этих ваших солидов призван бороться.
источник

V

Vui in symfony
А какой вариант с дто? Кроме поставить mixed?🙂
источник

SP

Sergey Protko in symfony
пересматривать структуру и дата флоу
источник

SP

Sergey Protko in symfony
я вот смотрю на этот твой ProductProviderInterface и не оч понимаю зачем он нужен
источник

SP

Sergey Protko in symfony
и почему у тебя FirstProductProvider это DTO, это ж не DTO
источник

SP

Sergey Protko in symfony
class BuyProductDto
{
   public int $count;
   public string $item;
}

class BuyFirstProductDto extends BuyProductDto
{
   public float $price;
}
источник

SP

Sergey Protko in symfony
я бы просто не юзал наследование и скопировал поля поскольку эти dto юзаются явно для разных операций
источник

V

Vui in symfony
Provider все от интерфейсов
источник

SP

Sergey Protko in symfony
ну или разбираться почему в одном случае стоимость нужна а в другом нет. откуда идут различия и искать более корректное разделение данных и абстракции
источник

V

Vui in symfony
Один провайдер просто продаёт. Другой продаёт по твоей цене
источник

D

Dmitry in symfony
видимо базовая дто призвана уменьшить "дублирование кода", хотя в данном случае я бы лучше этот самый код дублировал
источник

SP

Sergey Protko in symfony
да, дублируй код
источник

SP

Sergey Protko in symfony
это будет оптимально
источник

SP

Sergey Protko in symfony
и почитай чего на тему DRY (что это не про "дублирование кода" в этом виде а про дублирование "знаний", больше коррелируется с SRP из Solid) и rule of three (не надо париться о дублировании пока ты не убедишься что это проблема)
источник

V

Vui in symfony
Хорошо спасибо. В данном варианте все решение дто делать полными )
источник

D

Dmitry in symfony
для rule of three мне лично удобнее следующая вариация
можно дублировать код до тех пор пока не нужно один и тот же код изменить в трех местах
источник

V

Vui in symfony
Да это щас про мой пример. Поставщики редко меняют структуру данных на апм и не все разом 🙂
источник

D

Dmitry in symfony
тогда даже не заморачивайтесь. сделайте отдельные дто для каждого с дублированием полей
ну и еще вопрос - у вас дто на какой стороне ? на вход в провайдера или на выход ?
источник