@thekiba удачно я на ваше обсуждение наткнулся)
Подскажи, как считаешь, подойдёт ли интерсептор в моей ситуации?
1. У меня есть игра, в ней три типа уровней (скажем текстовый, 2д и 3д)
2. Для каждого типа уровней есть свои сущности, интерфейсы т.д. они объединены в модель - структуру которая лежит весь стейт уровня (в т.ч. и его тип).
3. Для каждой из трёх моделей есть свой readerService и writerService, это stateless сервисы с конкретными методами которые предоставляют доступ к конкретной модели.
Теперь вопрос: как красиво организовать инициализацию уровня? По идее нужен сервис в который можно отдать конфиг и он вернёт дескриптор вида модель+ридер+райтер, но первое что приходит в голову это внутри этого сервиса заинжектить все остальное и сделать большой уродливый switch-case )))