@symfony_php

Страница 745 из 1418
Bohdan
15.03.2018
22:05:37
пока есть вопросы - есть ответы

Sergey
15.03.2018
22:05:39
ну так я не про сеттеры)

Andrey
15.03.2018
22:05:41
Sergey
15.03.2018
22:05:57
у нас есть twig в базе)

Google
Sergey
15.03.2018
22:06:06
на твиге свой DSL)

Yaroslav
15.03.2018
22:06:31
Мне нужно бизнес хранить
да где угодно, если это не противоречит законом роботехники, SOLID и другим

Алексей
15.03.2018
22:06:32
Modx хранит пхп код в базе
Ты мне тут не это

Sergey
15.03.2018
22:06:36
Мне нужно бизнес хранить
смотри, вопрос не в том как бизнес хранить, а в том что из себя бизнес представляет, ну там... дробление на контексты независимые, выделение агрегатов... это все сложно потому не популярно.

Алексей
15.03.2018
22:07:11
Я очень оставил сужности на 15 строк

Остальное распихал по менеджерам и сервисам

А мне тут говорят что я плохо сделал

Sergey
15.03.2018
22:07:34
зачем?

Алексей
15.03.2018
22:07:55
Так проще управлять ответственностью

Sergey
15.03.2018
22:07:58
А мне тут говорят что я плохо сделал
не плохо - а как многие. Вопрос связанности. Ты ее увеличил

Так проще управлять ответственностью
все твои сущности уже нарушают SRP

и OCP

Алексей
15.03.2018
22:08:17
Google
Sergey
15.03.2018
22:08:25
А если в моделях то нет?
что такое "модели"?

Алексей
15.03.2018
22:08:30
Сорян

Я обмазался AR

Sergey
15.03.2018
22:09:07
Сущности
если у тебя логика только в сервисах или только в моделях - то скорее всего ты будешь проигрывать) То есть очевидно что логика должна быть и там и там.

дальше вопрос о том как ты выделяешь объекты, на что смотришь, как они взаимодействуют, как юзаются данные, жизненный цикл сущностей надо учитывать (типа логика зависящая от нескольких заказах явно не должна быть в заказе, но и не факт что в сервисе)

Konstantin
15.03.2018
22:10:06
пошла жара

Алексей
15.03.2018
22:10:30
Сча я приму средство способствующее диалогу

Bohdan
15.03.2018
22:10:31
бляха... ребяты...

ну посмотрите вы уже видос :D

Sergey
15.03.2018
22:10:42
Так проще управлять ответственностью
ну как сказать, у тебя есть манагер, который чето делает с сущностью. к примеру у тебя есть Issue сущность тебе нужно закрыть этот Issue, проставить дату закрытия, но при этом если есть дочерние Issues, то не давать закрыть если ты это делаешь все через манагер типа IssueManager->close($issue), то ты никак не застрахован от того что из другой части кода тебе просто кто-то сделает Issue->setStatus(Closed) и при этом хрен ложил на все эти кондишены

Bohdan
15.03.2018
22:10:44
там вот хорошо об этом

functional code + imperative shell

Sergey
15.03.2018
22:11:03
по поводу дзен - https://pikabu.ru/story/chyornyie_tuchi_zakryili_lunu_1914253

Glavnii
15.03.2018
22:11:05
hits blunt...

Bohdan
15.03.2018
22:11:47
последний раз вкидываю годнота годнотой

https://www.destroyallsoftware.com/talks/boundaries

Sergey
15.03.2018
22:12:08
доклад на самом деле неплох

Google
Alan
15.03.2018
22:12:16
можно подумать с сервисами не получается сущностей с полтосом методов на пару экранов ))) и половина из них сет гет )

Bohdan
15.03.2018
22:12:28
окей, последний на сегодняшнее бодрствование)

Konstantin
15.03.2018
22:12:51


Алексей
15.03.2018
22:12:52


Во

Сча станет лучше

Bohdan
15.03.2018
22:13:14
тебе повезло)

Sergey
15.03.2018
22:13:30
@figushki посмотри видос что скинул @thatside

Алексей
15.03.2018
22:13:41
Sergey
15.03.2018
22:13:57
тут скорее ООП vs процедурный код приятнее когда у тебя Issue->close(), а не колбаса из foreach(Issue->related as subIssue){ if... } Issue->setUpdatedAt(...) Issue->setStatus(closed)

Bohdan
15.03.2018
22:14:06
у меня сущности и на геттерах/сеттерах, и кошерно рич без сеттеров

так вот большинство сеттеров не используются нормально

Alan
15.03.2018
22:14:40
у нас проект который мы как раз и писали с манагерами и сервисами вокруг сущностей которые только сеттеры и геттеры содержат) и появился шанс переписать его, с нуля стремясь к ддд потихоньку, вот прямо тот же самый проект но с нуля и подругому - сильно легче стало )

Sergey
15.03.2018
22:15:32
так это и есть инкапсуляция

недавно переписывал кусок модуля и выбросил около 6 различных менеджеров, перенеся весь код в сущности. кода стало значительно меньше, и не надо везде тянуть дополнительные зависимости ну типа тебе надо закрыть issue? окей, мы тянем значит вот этот манагер себе, а если нужно чето еще с ним сделать - то еще одну зависимость

а что твой IssueManager инкапсулирует? что в твоем понятии инкапсуляция?

whatever suits your needs

когда у тебя есть скажем Issue, с методами типа close, assign, watch, vote, то это выглядит читабельнее и лучше чем setStatus, setUser, setShitDone

Admin
ERROR: S client not available

Bohdan
15.03.2018
22:20:49
чем это отличается от менеджмента данных в сущностях?

Google
Bohdan
15.03.2018
22:21:28
ну вообще да, я хз, как это работает в ларе - я на ней не писал

хотя бы ради такого надо попробовать)

не в ларе, а в AR)

разные менеджеры можно заменить разделенными сущностями

Sergey
15.03.2018
22:23:28
AR это всего лишь то что у тебя сущности знают о базе, и мапинг там не такой гибкий как в DM. а так это не обязывает тебя делать анемичиную модель

Bohdan
15.03.2018
22:23:41
у меня коллега/сосед ларавельщик как показывает мне что-то - нихрена не понятно пустые сущности почти)

если ответственности лягут на сущность - они будут на ней вне зависимости от местоположения логики зависимости в сущностях рак, это да

прямо рачище

Sergey
15.03.2018
22:24:36
зависимостей там не может быть. она может зависить и иметь связи только с другими сущностями

Bohdan
15.03.2018
22:26:15
максимум зависимостей - это дто/во но не сервисы и прочее

Andrey
15.03.2018
22:27:14
Ёпта. Есть текстовая трансляция?

Alan
15.03.2018
22:29:09
сервисы то будут

Bohdan
15.03.2018
22:31:16
все сводится в итоге к всеобщему языку реально ддд-лайк нетнет, сервисный уровень в минимальной версии существовать может, а то и должен

ну вот мне очень понравился пример из видоса спойлер: там твои модели/сущности являются чисто функциональными (ну чувак рубист и не только, давайте простим его за это), а также есть "шелл", который их использует

Страница 745 из 1418