Spring внедряет разные реализации одного интерфейса друг в друга

#java #spring #dependency-injection

#java #spring #внедрение зависимостей

Вопрос:

Скажем, у меня есть интерфейс с именем Worker, и у меня есть 3 реализации рабочего интерфейса:

Бухгалтер, разработчик, менеджер.

 public interface Worker {

}

@Service
public class Accountant implements Worker {

}

@Service
public class Developer implements Worker {

}

@Service
public class Manager implements Worker {

}
 

Вопрос: Нормально ли, если я внедряю одну реализацию в другую, или это считается плохой практикой?

Скажем, я хочу внедрить разработчика в бухгалтера и менеджера в разработчика

Комментарии:

1. Это зависит от моих бизнес-требований, например, при создании сущности Accountant Мне нужно создать разработчиков и менеджеров, связанных с Accountant, со специальным статусом

2. Я думал о том, чтобы избавиться от интерфейса и создать что-то вроде службы управления, которая будет внедрять все три отдельные службы и выполнять свою работу. Может быть, это решение было бы лучше, как вы думаете?