Как включить внедрение зависимостей для классов с аргументами конструктора в C#?C#

Место общения программистов C#
Anonymous
Как включить внедрение зависимостей для классов с аргументами конструктора в C#?

Сообщение Anonymous »

Учитывая следующий код:

Код: Выделить всё

public interface ISomeClient;

public class SomeClient : ISomeClient
{
SomeClient(string clientID, string clientSecret) {
_clientID = clientID;
_clientSecret = clientSecret;
}
}

public class SomeWrapper {
SomeWrapper(ISomeClient someClient) {
_someClient = someClient;
}
}
Этот код должен разрешать внедрение зависимостей, но мне не нравится, что зависимость «Некоторый клиент» требует аргументов. Кажется, это не чистый способ сделать это. Как правильно выполнить такое разделение, чтобы пользователям было проще использовать SomeWrapper?
Я рассмотрел следующие решения:
< ul>
[*]Передавайте аргументы при создании экземпляра класса SomeWrapper
[*]Создайте фабричный класс и используйте фабричный класс для создания экземпляра объекта с аргументами конструктора
[*] li>
Используйте отдельный метод для передачи аргументов вне конструктора
[*]Объедините классы


Подробнее здесь: https://stackoverflow.com/questions/790 ... -arguments

Вернуться в «C#»