Я использовал достаточное количество инъекций зависимостей, но я хотел бы получить информацию о том, как обрабатывать информацию от пользователя во время выполнения.
У меня есть класс, который подключается к com-порту. Я разрешаю пользователю выбирать номер COM-порта. Прямо сейчас у меня есть этот параметр com-порта в качестве аргумента конструктора. Причина в том, что класс не может функционировать без этой информации и зависит от реализации (фиктивной версии этого класса не нужен com-порт).
В качестве альтернативы можно использовать метод «Пуск», который принимает com-порт, или иметь свойство, которое устанавливает com-порт. Это делает его очень совместимым с контейнером IoC, но это не обязательно имеет смысл с точки зрения класса.
Кажется, что логический маршрут конфликтует с дизайном внедрения зависимостей, но это потому, что мой пользовательский интерфейс получает информацию для определенного типа класса.
Другие альтернативы включают использование контейнера IoC, который позволяет мне передавать дополнительные параметры конструктора, или просто создание классов, которые мне нужны, на верхнем уровне без использования внедрения зависимостей.
Существует ли общепринятый стандартный шаблон для такого типа задач?