Модель анемичной области в случае структур сущностей

Я читал об этой проблеме анемичной доменной модели, которую Фаулер описывает на своем сайте.

Насколько я понимаю, он говорит, что классы модели предметной области должны содержать связанную с ними бизнес-логику, потому что это больше ООП и имеет ряд других преимуществ.

Теперь мой вопрос: допустим, я использую hibernate, и в этом случае я аннотирую свои классы сущностей с помощью аннотаций JPA или Hibernate.

Согласно Фаулеру, эти классы сущностей должны содержать бизнес-логику?

Я спрашиваю, потому что, по словам Роберта Мартина (он говорит об этом в нескольких выступлениях на YouTube), вы никогда не должны помещать свою бизнес-логику в классы, которые содержат сторонний код какого-либо типа. Вместо этого бизнес-логика и бизнес-правила должны быть отделены и защищены от специфических для технологии деталей.

Прав ли я, говоря, что они как бы противоречат друг другу? Или я просто не понимаю?

И снова: согласно Фаулеру, я должен поместить бизнес-логику в классы сущностей (например, "Пользователь", "Продукт" и т. Д.), Чтобы, в случае использования инфраструктуры хранения, содержать все эти технологические аннотации?

Я всегда думал, что вы должны стараться быть максимально отделенным от стороннего кода, чтобы защитить свой собственный код от неожиданных изменений.

0 ответов

Другие вопросы по тегам