Здравствуйте, Blazkowicz, Вы писали:
B>Для меня главным недостатком является то, что все бизнес-методы остаются в бизнес-слоё и в пограничных слоях становятся недоступны, потому что там доступны только Data Transfer Object или Value Object или аналогичная ересь.
А может не нужно фигачить бизнес методы прямо в Entity? А как нидь разграничить логику. Entity для храниния, DTO для для передачи, а бизнес логику помещать в отдельные классы что то типа EntityService. Да, если приложение тривиальное, то кода будет больше. Но в среднем и крупном приложении от этого будет весьма неслабая выгода.
Кроме того, пограничные слои, которые оперируют с DTO — им 100 лет не сдались эти бизнес методы. Пограничные слои в основном визуализацией занимаются этой уже подготовленной DTO. Если нужны бизнес методы — будет вызов идти к сервису бизнес логики, а он как раз будет оперировать не с DTO, а с самой что ни на есть Entity, и все методы будут доступны.