Вот есть у тебя описание некой сущности. И эта сущность должна делать какую-то функциональность, которая не относится к её зоне ответственности. Тогда ты делаешь интерфейс для абстрактной сущности, которая будет эту функциональность выполнять, и принимаешь сущностью с конкретной реализацией 😅