Size: a a a

2020 October 05

ПГ

Павел Г. in symfony
Vlad Sobenko
Вот это уже геттер:
function foo($newList) {
       $oldList = $agg->getLinks();
       $newLinks = array_filter($newList, fn($link) => !in_array($link->url(), $oldList));
}
тогда не понял, как вы предлагали. Тут же фильтрация и есть.
источник

ПГ

Павел Г. in symfony
Или это не внутри агрегата?
источник

VS

Vlad Sobenko in symfony
Павел Г.
Или это не внутри агрегата?
Да, снаружи
источник

DT

Dmitriy Tkachenko in symfony
Павел Г.
Т.е. юзкейс уже получал данные готовые для заполнения.
Если данные готовятся исходя из данных агрегата, то это должен делать агрерат
источник

DT

Dmitriy Tkachenko in symfony
Еслм агрегату нужно обратиться к другим частям - он кидает сообщение и ждёт результата
источник

ПГ

Павел Г. in symfony
Dmitriy Tkachenko
Если данные готовятся исходя из данных агрегата, то это должен делать агрерат
Ну немного не то имел ввиду: у меня был огромный юзкейс с кучей репозиториев чего то там еще, но по факту они все готовили данные типа из ID реквеста получить сущность и т.д.  Я разнес по декораторам и в главный класс прилетают уже  данные готовые для употребления агрегатом.  Тем самым меньше моканья при тестах и разбито на кусочки мелкие. Хотя мб и херня вышла))
источник

DT

Dmitriy Tkachenko in symfony
Как ты подготовить данные для агрегата, еслм только он знает как их подготовить?
источник

DT

Dmitriy Tkachenko in symfony
Какая разница куда ты что разнес? Главное что все решения о данных агрегата делает агрегат
источник

ПГ

Павел Г. in symfony
Dmitriy Tkachenko
Как ты подготовить данные для агрегата, еслм только он знает как их подготовить?
Ну у меня прилелетает int:category_id а мне для агрегата нужен Category. Я его в другом классе из репозитория достаю, а не в основном юзкейсе
источник

ПГ

Павел Г. in symfony
Тем самым избавляюсь от зависмости
источник

VS

Vlad Sobenko in symfony
Павел Г.
Ну у меня прилелетает int:category_id а мне для агрегата нужен Category. Я его в другом классе из репозитория достаю, а не в основном юзкейсе
А зачем ему нужна категория?
источник

ПГ

Павел Г. in symfony
Vlad Sobenko
А зачем ему нужна категория?
У меня нет отдельных типов по id, сделано по простому $agr->setCategory(Category).
источник

VS

Vlad Sobenko in symfony
Павел Г.
У меня нет отдельных типов по id, сделано по простому $agr->setCategory(Category).
Сколько полей в агрегате? И строк кода?
источник

ПГ

Павел Г. in symfony
Vlad Sobenko
Сколько полей в агрегате? И строк кода?
5 обычных инпутов, 4 м-о, 4 о-м
источник

VS

Vlad Sobenko in symfony
Павел Г.
5 обычных инпутов, 4 м-о, 4 о-м
Я говорю про проперти агрегата.
источник

ПГ

Павел Г. in symfony
Vlad Sobenko
Я говорю про проперти агрегата.
5+4+4 если я правильн понимаю
источник

ПГ

Павел Г. in symfony
или про обычные свойства без связей?
источник

VS

Vlad Sobenko in symfony
Павел Г.
или про обычные свойства без связей?
Про все  свойства. Просто скорее у тебя проблемы с разделением. Если тебе нужно много связей.
источник

ПГ

Павел Г. in symfony
Vlad Sobenko
Про все  свойства. Просто скорее у тебя проблемы с разделением. Если тебе нужно много связей.
у меня сущность "услуга"
У нее свои мелкие свойства, а потом пошли связи:  владелец, тип(категория), город, соц сети, ссылки на ютуб, галерея фото. Коллекции хранятся в "услуге". Я бы срадостью вынес коллекции но не понимаю, как тогда работать с коллекцией вне агрегата, так как есть всякие штуки типа "нельзя 2 ссылки на одну соц сеть", "должна быть минимум одна картинка". Можно вынести в какой нить сервис класс - но тогда надо плотно работать с репозиторием будет и не потестировать без него.
источник

МФ

Максим Федоров... in symfony
Павел Г.
у меня сущность "услуга"
У нее свои мелкие свойства, а потом пошли связи:  владелец, тип(категория), город, соц сети, ссылки на ютуб, галерея фото. Коллекции хранятся в "услуге". Я бы срадостью вынес коллекции но не понимаю, как тогда работать с коллекцией вне агрегата, так как есть всякие штуки типа "нельзя 2 ссылки на одну соц сеть", "должна быть минимум одна картинка". Можно вынести в какой нить сервис класс - но тогда надо плотно работать с репозиторием будет и не потестировать без него.
строишь приложение с подходом "приложение = чистая функция"? 🙂
источник