Пишем код

Заметки о .net разработке

Archive for Февраль, 2014

Инъекция зависимостей и меняющиеся параметры в конструкторе

4 комментария

При использовании инъекции зависимостей у меня частенько возникают проблемы с конструкторами.
Посмотрим на простой пример класса — сервиса почтовой рассылки:

<br />
public class EmailSender<br />
{<br />
	public EmailSender(ISmtpClient smtpClient, string serverAddress)<br />
	{<br />
	}</p>
<p>	public void Send(string from, string to, string text)<br />
	{</p>
<p>	}<br />
}<br />

Какие у класса есть зависимости? Ему нужен SMTP-клиент, чтобы осуществлять отправку писем, а также необходим адрес смтп-сервера, который будет отправлять корреспонденцию.

Допустим, что у меня в проекте полная Инверсия Зависимостей и активно используются IoC-контейнеры. Какая возникает проблема?
ISmtpClient зарегистрирован в моем контейнере с ним проблем нет, но как сконфигурировать EmailSender адресом сервера? Непонятно.
Read the rest of this entry »

Written by Shaddix

Февраль 4th, 2014 at 9:31 пп

Posted in .net,agile,IoC