Egor
Вот мы выяснили что кто то рекомендует использовать богатые вместо анемичных, кто то этого вообще не касается, а кто рекомендует использовать анемичные вместо богатых для долгоиграющих проектов я не знаю
Egor
Ссылки выше почитаю, ещё не ознакомился
Maxim Kainov
Фаулер рассматривает анемичную модель, как дто, которое кочует по многим сервисам и меняется. Поэтому он и боится, что она будет не валидна )
Maxim Kainov
А нормальная модель не ходит по куче непонятных сервисов ))
Maxim Kainov
Maxim Kainov
Не совсем
2ая ссылка выше, оттуда это
atcq (Алексей)
С точки зрения бизнес логики
у бизнес логики много частей, где-то машина без vin валидна, а где-то критикал еррор
Egor
Выше две ссылки было
Две ссылки это stackoverflow с 9 и 64 лайками или я что то пропустил? Сорян, интернет ни к чёрту
Maxim Kainov
А не сразу 2
Anonymous
Maxim Kainov
Ну ты ссылку дай
https://softwareengineering.stackexchange.com/questions/359555/ddd-is-anemic-domain-model-an-antipattern-shoud-we-be-using-rich-domain-model
Maxim Kainov
Верхний ответ
Egor
9 лайков )
atcq (Алексей)
Там один сервис, там другой сервис
а модель при этом одна, получается валидность только с точки зрения сервиса, а в модели вообще что угодно может быть
Egor
Боюсь это не позиция сообщества
Maxim Kainov
Maxim Kainov
Вон выше 69 лайков по другой ссылке
Maxim Kainov
Это не сообщество что ли
Maxim Kainov
И где там Фаулер это говорит, в той ссылке?
Не он это говорит, а кто то его пересказывает
Anonymous
Аа. Ну то есть не прямая цитата, а кто-то интерпретировал
Egor
Вон выше 69 лайков по другой ссылке
Я привожу примеры из документации проекта с тысячами фолловеров, ссылки на труды великих бородатых людей, а ты на стек оверфлоу с 69 лайками, это не серьёзно ))
atcq (Алексей)
Сервис содержит бизнес логику
представь что часть сервисов ждет на вход машину с указанным vin, а части сервисов на это все равно (например расчет стоимости утилизации), при этом модель передаваемая в сервис одна вопрос: может ли быть тут какая-то валидность с точки зрения модели мне кажется нет
Maxim Kainov
Аа. Ну то есть не прямая цитата, а кто-то интерпретировал
Ну не важно это. Если у тебя будет нормальная логика, ты не будешь париться, что у тебя сущность невалидна
Anonymous
Ну я скажу вот что Максим Каинов говорил что умеет инстанцировать абстрактные классы, а у меня спросят "а где он это говорил?", и я отвечу "ну не он говорил, а я так интерпретировал" Я буду прав получается?
Egor
Сервис это тоже модель
Я спать пацаны 😂
Anonymous
И все равно хоть я и интерпретировал, но Максим Каинов все равно утверждал где-то что умеет инстанцировать абстрактные классы?
Maxim Kainov
Anonymous
Вот ты умеешь же инстанцировать абстрактные классы?
Maxim Kainov
Вот ты умеешь же инстанцировать абстрактные классы?
Еще раз говорю, если бы у него нормальный код был, то не было и проблем. Видимо, там реально каша была конкретная.
Anonymous
Бывает и такое, да.
Maxim Kainov
Ты из китая что ли
Anonymous
Да.
Юра
Интересно как третья доктрина предлагает передавать в рич модэл зависимости?
Юра
В примерн у них там передаётся hasher к примеру
Юра
А если еще понадобилось что-то, это реыакторить все вызовы метода рич модели?
Юра
В симфони сервис просто добавил в конструктор параметр и всё
Anonymous
А если еще понадобилось что-то, это реыакторить все вызовы метода рич модели?
Правая кнопка мыши -> Refractor -> дальше по соображениям
Юра
Это не делает разработку проще
Anonymous
А кто говорит что все просто должно быть?
Юра
Вопрос зачем методологии которые усложняют разработку
Anonymous
Просто пиши абы как
Anonymous
Табы ставь вперемешку с пробелами
Юра
Нет ну любое нововведение имеет плюсы и минусы
Юра
И плюсы должны явно перевешивать минусы
Anonymous
Ну усложняет же разработку соблюдение этих стандартов клятых!
Юра
Они дают плюс в плане читабельности и поддерживаемости кода
Anonymous
Но усложняют((((((
Юра
И эти плюсы перевешивают минусы
Юра
Ну а какие плюсы у рич модели?
Anonymous
И эти плюсы перевешивают минусы
Ну для тебя, кто читает этот код. А для меня, кто пишет - нет.
Юра
Если я могу использовать сервис в котором логика и который использует анэмик модель
Юра
Пользоваться благами автоваера и прочими плюшками доступными сервису
Anonymous
Что мешает это делать в рдм
Юра
Сервис получается просто враппер, суть которого получить нужные зависимости и передавать их модели
Anonymous
А он в адм не так разве представлен у тебя?)
Anonymous
Сервис это уровень абстракции внутри самой модели, который отделен от сущности, и заключает в себе бизнес-логику
Anonymous
Ты если часть логики уместной перенесешь в сущность, много не потеряешь
Юра
Вариан 1. Вся логика в сервисе, модель анемичная
Юра
Псевдокод
Anonymous
Ээээ не, давай в другой раз
Юра
Я думаю вся эта ДДДвщина уже успела устареть
Юра
Аргументирую - сейчас часто бек используется как рест апи. Логика может быть вообще на фронте. ДДД подразумевает что нема у тебя сеттеров да и геттеры не нужны вообще, скрывай все внутри энтити. Как на это дело рест апи положить ваще не понять
Anonymous
Логика на фронте омагад удалите меня из вебдева когда это наступит
Anonymous
Какой смысл тогда вообще от бэкэнда?
Юра
Обычно SPA приложение использует бек как апи, получил данные, что-то сделал, сделал пост запрос, данные поменялись
Юра
Хранить данные
Юра
Авторизировать