бизнес логика не может быть абстрактной вообще. это вообще как ? Само понятие лишено смысла
> Делать интерфейсы на сущности
точно нет, если ты собираешься извращаться как-то и проводить всю работу с энтитями / вельюобжектами и пр через абстракции (однако, сущности могут реализовывать какие-то интерфейсы или абстрактные классы, чом бы и нет, это просто средство языка)
> доменные сервисы
если он потребляется кем-то, то можно
> Выше делать интерфейсы на юзкейсы
в каком-нибудь клине / гексагоне обычно так и делают
смысл абстракций в том, чтобы инвертировать поток зависимостей. это позволит хорошо и правильно проектировать устойчивые сервисы, сервисы с низкой связанностью, упростит тестирование, позволит более независимо изменять части системы без аффектинга других её модулей
про абстракции и абстрактность я выше писал. В клине говорится не о том, что БЛ должна быть какой-то абстрактной (этот термин сам по себе абсурден), БД и устойчивые компоненты должны менеджить неустойчивые через стабильные абстракции
https://t.me/oop_ru/176522https://t.me/oop_ru/176525