Денис Цветцих. Андрей Цветцих. RichModel vs AnemicModel
HTML-код
- Опубликовано: 30 сен 2024
- В сообществе много холиваров о том, какую модель лучше использовать - Rich или Anemic. При этом лагерь консультантов активно топит за Rich Model, а среди разработчиков популярна Anemic Model.
Поговорим о модели без предрассудков и с практической точки зрения. Для начала определимся с понятиями, что принято называть терминами Rich Model и Anemic Model, по каким критериям их можно отличить.
Посмотрим, стоит ли использовать две модели данных: бизнес-модель для бизнес-логики и отдельную data-модель для маппинга на базу. Увидим, какие кейсы невозможно реализовать в канонической Rich-модели. Обсудим, так ли страшна анемичная модель, как ее ругают. И придем к прагматичной модели, которая чаще всего встречается на практике.
Сайт - codefest.ru
Исходя из услышанного лучшее архитектурное решение - не нанимать джунов + анемичная модель.
Спикерам нужно поработать над реакцией на альтернативные аргументированные точки зрения
Удивлен, что после провального прошлогоднего доклада про DDD, пригласили этого же спикера. Ребята совершенно не понимают простой вещи: rich model невозможна с использованием любой ORM/кодогенерации. А уж то, что domain model путают с data model, это финиш. Самого адекватного комментатора из зала (справа), который, можно сказать, "выдал базу", еще и грубо заткнули под конец "мы ваше мнение поняли".
Согласен, доклад из серии тупой ещё тупее
Rich model возможна (по крайней мене в C# и Java) с ORM, но ее гораздо сложнее реализовать, чем сделать анемичную. Придётся танцевать с бубном, добавлять разные типы конструкторов, следить за инкапсуляцией и т.д. "DDD-трилемма", сформулированная Хориковым - вишенка на торте.