Как включить внедрение зависимостей для классов с аргументами конструктора в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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