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