Я большой поклонник DI / IOC. Он отлично подходит для обработки / абстрагирования жестких зависимостей и делает жизнь немного проще.
Тем не менее, у меня есть небольшой недостаток, который я не знаю, как решить.
Основная идея DI / IOC заключается в том, что при создании экземпляра объекта все его зависимости предварительно заполняются в конструкторе.
Однако ИМХО существует несколько типов параметров для конструкторов (особенно когда ваши объекты неизменны).
- Зависимости (объекты, необходимые для работы вашего объекта)
- Конфигурация (информация о среде, необходимой для работы)
- Параметры (Данные, над которыми выполняется работа)
Я считаю, что МОК хорошо работает с зависимостями. Но я все еще пытаюсь найти лучший способ справиться с двумя другими. Тем не менее, поскольку конструктор выполняется для контейнера IOC, кажется, мне нужно поместить эти элементы в контейнер IOC.
Я хотел бы знать, какие стратегии / модели используют люди и какие преимущества и недостатки они нашли.
NB. Я знаю, что это очень субъективный вопрос, и попытался сделать его «хорошим» субъективным вопросом в соответствии с руководящими принципами SE.
I am still trying to work out the best way to deal with the other two
- передать их как обычные параметры для вашего объекта?