Size: a a a

2020 May 12

M

Maxim Kainov in PHP
Viktor TElless
а с сущностями так поступать какая религия мешает?
Ну есть у тебя сущность с которой связано 100 разных операций, например. И ты будешь их все писать в одном классе.
источник

VT

Viktor TElless in PHP
Maxim Kainov
Ну есть у тебя сущность с которой связано 100 разных операций, например. И ты будешь их все писать в одном классе.
я не стану это делать одной сущностью для начала )
источник

ЕР

Евгений Ромашкан... in PHP
Maxim Kainov
Ты их разделишь на мелкие части
Итого, чтобы написать 101 сервис, нужно будет держать в голове все 100 предыдущих, чтобы не нарушить инварианты сущности, проверку которых ты зачем-то на сервисы переложил?)
источник

M

Maxim Kainov in PHP
Viktor TElless
я не стану это делать одной сущностью для начала )
Ты ее разделишь на 100 разных сущностей?
источник

VT

Viktor TElless in PHP
Maxim Kainov
Ты ее разделишь на 100 разных сущностей?
не очень люблю делить абстрактных коней в вакууме, но допустим да
чем это хуже, чем оставлять одну сущность с полотном геттеров-сеттеров и всё те же 100 сервисов?
источник

M

Maxim Kainov in PHP
Евгений Ромашкан
Итого, чтобы написать 101 сервис, нужно будет держать в голове все 100 предыдущих, чтобы не нарушить инварианты сущности, проверку которых ты зачем-то на сервисы переложил?)
Зачем в голове держать. Можно разбить по неймспейсам, дать названия.
источник

ЕР

Евгений Ромашкан... in PHP
Maxim Kainov
Зачем в голове держать. Можно разбить по неймспейсам, дать названия.
Ну так они все-равно работают с одной сущностью получается?
И чтобы не поломать сущность нужно логику всех предыдущих сервисов знать
источник

M

Maxim Kainov in PHP
Viktor TElless
не очень люблю делить абстрактных коней в вакууме, но допустим да
чем это хуже, чем оставлять одну сущность с полотном геттеров-сеттеров и всё те же 100 сервисов?
Можно вообще паблик свойства сделать. Ну сервисы можно более гибко структурировать, там di контейнер есть. То есть удобнее, как мне кажется.
источник

VT

Viktor TElless in PHP
Maxim Kainov
Можно вообще паблик свойства сделать. Ну сервисы можно более гибко структурировать, там di контейнер есть. То есть удобнее, как мне кажется.
да, и радостно с этого контейнера прокидывать тонну зависимостей
а потом пол жизни писать стабы в тестах под это дело, а вторую половину жизни чинить эти тесты
источник

M

Maxim Kainov in PHP
Евгений Ромашкан
Ну так они все-равно работают с одной сущностью получается?
И чтобы не поломать сущность нужно логику всех предыдущих сервисов знать
У сущности тогда вообще нет логики, вся логика в сервисах. Можно несколько сервисов сделать с разной логикой, но которые работают с одной сущностью.
источник

M

Maxim Kainov in PHP
Viktor TElless
да, и радостно с этого контейнера прокидывать тонну зависимостей
а потом пол жизни писать стабы в тестах под это дело, а вторую половину жизни чинить эти тесты
А с сущностью не надо будет этого делать?
источник

VT

Viktor TElless in PHP
Maxim Kainov
У сущности тогда вообще нет логики, вся логика в сервисах. Можно несколько сервисов сделать с разной логикой, но которые работают с одной сущностью.
у сущности всё еще есть инварианты
и если ты не защищаешь их в методах сущности, а выносишь в сервисы, тебе надо их соблюдать
источник

ЕР

Евгений Ромашкан... in PHP
Maxim Kainov
У сущности тогда вообще нет логики, вся логика в сервисах. Можно несколько сервисов сделать с разной логикой, но которые работают с одной сущностью.
Ага, и если ты не держишь в голове логику всех сервисов работающих с сущностью, смена какого-нибудь поля может поломать другие сервисы. Замечательно.
источник

VT

Viktor TElless in PHP
Maxim Kainov
А с сущностью не надо будет этого делать?
а какие зависимости у сущности?
источник

LA

Liv Alex in PHP
кто устанавливал расширение intl в докер-окружении, расскажите как вы это сделали 😱😊
источник

M

Maxim Kainov in PHP
Евгений Ромашкан
Ага, и если ты не держишь в голове логику всех сервисов работающих с сущностью, смена какого-нибудь поля может поломать другие сервисы. Замечательно.
Это делать не обязательно )
источник

M

Maxim Kainov in PHP
Viktor TElless
а какие зависимости у сущности?
От внешних интерфейсов, данных
источник

VT

Viktor TElless in PHP
Maxim Kainov
От внешних интерфейсов, данных
например
источник

M

Maxim Kainov in PHP
Viktor TElless
например
Ну есть у тебя заказ. У него доставка. Чтобы посчитать доставку, тебе нужно сделать запрос в службу доставки. Тогда тебе в сущность нужно будет передать какой нибудь DeliveryCalculatorInterface
источник

VT

Viktor TElless in PHP
Maxim Kainov
Ну есть у тебя заказ. У него доставка. Чтобы посчитать доставку, тебе нужно сделать запрос в службу доставки. Тогда тебе в сущность нужно будет передать какой нибудь DeliveryCalculatorInterface
или не нужно
источник