Size: a a a

2020 December 23

AL

Anton Lakotka in PHP
не обязательно. можно же адаптер рядом хранить
источник

AL

Anton Lakotka in PHP
я про это
источник

AL

Anton Lakotka in PHP
чистый аггрегат + адаптер для аггрегат менеджера, который уже фреймворочный
источник

MM

Maksim Masiukevich in PHP
ок, давай точнее:

типа легко разделить персистенс слой от самого аггрегата. 


они никак не пересекаются в случае трейта/базового класса

да придется собирать ивенты каким-нибудь образом. 
но тогда можно замутить правило возвращать из агрегатов ивенты.


каким? как ты будешь обеспечивать правило?

или например инжектить некий Context
куда можно паблишить ивенты


чем это лучше базового класса/трейта со свойством?
источник

MM

Maksim Masiukevich in PHP
пример с локами - позор сраный. Как с точки зрения локов, так и с точки зрения банальной логики
источник

AL

Anton Lakotka in PHP
> они никак не пересекаются в случае трейта/базового класса

ну когда ты делаешь базовый класс который ответсвенен за "запоминание" ивентов.
то ты как бы подмазываешь его к некой реализации. хотя вцелом оно независит от того как сохраняет аггрегат.

> каким? как ты будешь обеспечивать правило?

никаким, кроме как конфигурации внутри адаптера/менеджера.
ну мол либо рефлексия либо напрямую мапить команды

> чем это лучше базового класса/трейта со свойством?

ничем, кроме того что не будет базового класса/трейта.
источник

AL

Anton Lakotka in PHP
а зачем этот трейт с локом
источник

AL

Anton Lakotka in PHP
я пропустил
источник

MM

Maksim Masiukevich in PHP
команды в сф локать
источник

AL

Anton Lakotka in PHP
хмм
источник

MM

Maksim Masiukevich in PHP
вот в этом и нюанс, что профит минимален, а затраты максимальны.

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

MM

Maksim Masiukevich in PHP
при вызове этой функции у тебя нет контекста. Это просто функция, которая принимает какой-то объект. А что и как с ним потом делать - вопрос.
источник

AL

Anton Lakotka in PHP
ну для этого и нужно писать адаптер к фреймоврку
источник

AL

Anton Lakotka in PHP
типа сейчас этот адаптер либо базовый класс, либо аннотации
источник

AL

Anton Lakotka in PHP
либо еще что-то
источник

AL

Anton Lakotka in PHP
что в итоге может приводить к жутким зависимостям
источник

AL

Anton Lakotka in PHP
и какие-нибудь адепты чистоты грустят
источник

AL

Anton Lakotka in PHP
но всем похуй, если оно и так работает
источник

AL

Anton Lakotka in PHP
ну вон ща Валентин пишет дженериками как на котлине
источник

AL

Anton Lakotka in PHP
локи
источник