Evgeniy
но если тут все такие джентельмены то ок
Ale
а как же фреймворки? ) как же доктрины, елеквонты с кодигнайтерами?
ну вот сущности, которые мапятся доктриной как раз полностью от нее отвязаны
Ale
если конечно руки не из жопы)
Artur
моя модель отнаследованная от фреймворка и есть адаптер
приведи пример чтобы было понятно что мы об одном и том же
Artur
схематически
Ale
а елеквенты вот да, адаптеры для доступа
Ale
и отдельно от них доменная модель
Ale
иногда доменной нет, потому что нет правил перехода стейта
Artur
ну вот сущности, которые мапятся доктриной как раз полностью от нее отвязаны
так ты свёл сущьности к "бизнес обхектам" или контейнеру с данными
Ale
и тогда остается только адаптер элоквента
Artur
как их там называют....
Ale
о куда ты будешь писать код для МОДЕЛИ
вот ща я не понял и тебе надо мне немного разжевать
Artur
ну две разные штуки ж
ты по делу скажи
Artur
схему нарисуй хоть текстовую
Artur
где запросы живут
Artur
где резхультат хранится
Ale
запросы к базе?
Artur
да
Ale
в реализации репозиториев
Artur
мне например очень нравится то что умерло - onphp
Artur
там было просто ахрененно
Ale
а интерфейсы репозиториев живут рядом с сущностями
Artur
лара просто подсасывает
Anonymous
часто ты там репозитории меняешь?
Artur
хоть в патнте от руки
Artur
меня правда напрягает модель в современных фреймворках пхп
Artur
это вообще не то
Artur
но это не про наследование нихрена!
Ale
ну представь папочку CoreDomain в ней есть Product.php это класс и Catalog.php это интерфейс. В папочке AppBundle или какой-нибудь Infrastructure живет DoctrineCatalog.php где реализация Catalog.php для работы с базой через доктрину
Artur
в т.ч.
Artur
не только
Artur
save() это не задача бизнес обхекта
Ale
часто ты там репозитории меняешь?
как перчатки, вообще не меняю
Evgeniy
просто 2 варианта или ar или datamapper или запросы ручками со всякими хелперами
Anonymous
как перчатки, вообще не меняю
зачем тебе тогда слабая связанность, интерфейсы, куча абстракций?
Ale
1, 2 много?
Artur
бля
Artur
https://ru.wikipedia.org/wiki/%D0%94%D0%BE%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9_%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82 https://en.wikipedia.org/wiki/Business_object
Anonymous
1, 2 много?
для каждого? да
Artur
это одно и то же? ))))
Ale
для каждого кого?
Anonymous
хз кто там у тебя
Anonymous
ты там для каждой сущности лепишь репозитории на интерфейсах через фабрики
Ale
уже странно с неймингом
ну ты конкретнее
Ale
ты там для каждой сущности лепишь репозитории на интерфейсах через фабрики
на весь проекта только пара аггрегатов, у которых есть или которым нужны репозитории
Artur
интерфейсы должны показывать что они интерфейсы
Ale
но ты не указал кто на что ссылается. или связь двусторонняя. или через хэлперы
interface Catalog { find(ProductId $id): Product; findAll(): Product[]; add(Product $product); }
Artur
ICatalog же
Ale
фу
Ale
префиксы
Evgeniy
.net?
Artur
я иногда пишу IfaceCatalog но меня както затралили по поводу
Artur
.net?
нет
Artur
это важно когда в иде работаешь
Evgeniy
там вроде так ринято
Anonymous
Вон @arturpanteleev тоже решил в ООП. Все в кучу смешал. Фабрики, адаптеры.
Artur
эжто си ж
Evgeniy
С #
Evgeniy
?
Sergei
@f3ath
Мы на курсах по деторождению, присоединюсь к раздаче через пару часов.
Artur
ЭТО си без плюсов
Пантелеев
самый прикол что половина из того что я написал не нужна
Ale
пользователю твоего кода все-равно интерфейс там или класс, так зачем мне его как-то помечать
Пантелеев
https://github.com/geocoder-php/Geocoder
Artur
а у меня php итп )
Anonymous
ну да каша вышла
убери ты эти Factory/Adapter
Anonymous
Они там вообще не в тему
Anonymous
Просто MapService, Yandex