@mersinvald Вообше самая большая проблема что люди один и тот же класс Item и для crud и сохранения в БД и для подсчета стоимости со скидкой и подсчета статистики и для оформления заказа используется. По нормальному должно быть пять разных классов Item один из которых в БД а другие из него маппяться и каждый за свой вид расчетов отвечает. ООП без жёсткого разграничения по BoundedContext (по сути разделение на узкоспециализированные библиотеки) превращается в лютый пиздец и кашу где в одном месте чихнул в другом начался ураган
Ну это не только в ООП так, да.
Просто, опять же, я не верю в идеальный мир, где подавляющее большинство людей пишут идеальный код (мне и самому иногда страшно смотреть на дичь, которую я делал год назад).
И чем больше хороших практик мы энфорсим инструментарием, тем лучше. Без наследования данных, ты будешь обязан отвязывать свои интерфейсы от данных — следовательно код будет дальше легче модифицировать, или рефакторить написанное во время аврала.