Мне нужно создать слой, который извлекает данные из трех разных источников на основе некоторых настроек, когда мы пытаемся перейти на новые системы, и мы все еще хотим поддерживать устаревший поток до тех пор, пока мы не переключимся.
Допустим, нам нужно получить консолидированный POJO, который содержит вторичные тяжелые POJO.
class X {
Y1 obj1;
Y2 obj2;
Y2 obj3;
...
}
Я создал слой, который может вызывать любой из нисходящих сервисов и вводить данные.Я хотел бы, чтобы у каждого из Y1 и Y2 и Y3 были свои собственные заполнители, и они могли быть построены из разных типов POJO из разных сервисов, которые вызывает этот уровень.Есть ли элегантный способ сделать это так, чтобы позже мне нужно было только добавить код.Также я бы хотел максимально придерживаться принципов SOLID.
Один из способов, о котором я подумал, - это иметь шаблон стратегии для каждого типа Y, и мы выбираем стратегию для преобразования на основе сервиса и пройденного pojo.
Но это приводит к буму в класседля каждого нового комплекса Y внутри X мне нужно будет написать несколько стратегий, которые, по сути, состоят из множества классов.