Я довольно новичок в принципах SOLID, и я обнаружил, что часто прихожу к следующей ситуации.Как заполнить список интерфейсов?
У меня есть реализация задачи, привязанной к интерфейсу, когда мне нужно использовать класс, я просто использую DI для такого интерфейса.
Моя проблема заключается в том, что делать, когда мне нужно несколько реализаций, например.
List<IDataSource> dataSources = new ArrayList<IDataSource>();
dataSources.add(new DataSourceOne());
dataSources.add(new DataSourceTwo());
.... and so one...
, а затем я перейду через массив к действию метода интерфейса для каждой реализации.
Это плохая практика? есть ли способ заполнения списка без нового ключевого слова? например, C# отражение. или шаблон проектирования, который позволяет избежать этого?
Это было частью моего вопроса, действительно ли делает это для SOLID? – Lunar
@ Lunar Я думаю, что это «ортогональная проблема». Вы можете создать список, прежде чем наделять его конструктором объектом, который будет его использовать. –