Я все еще немного борюсь с концепциями ООП и внедрением зависимостей, так что терпите меня.
Я сгенерировал свою модель Linq2Sql с таблицей User, и теперь я хотел бы иметь возможность отправить электронное письмо с подтверждением этому пользователю, поэтому я создал частичный файл класса для своего объекта User, и я чувствовал, что было естественно добавить SendConfirmationEmail () к классу User. Этот метод будет использовать MailService для отправки фактического электронного письма, и я хотел бы использовать внедрение зависимостей для передачи в службу, поэтому я создал перегрузку конструктора для объекта User, например,
public User(IMailService service) : this()
{
_service = service;
}
Метод SendConfirmationEmail будет выглядеть следующим образом
public void SendConfirmationEmail()
{
_service.SendMail(params...);
}
Я понимаю, что это своего рода инъекция зависимостей бедного человека, и я надеюсь перейти к инфраструктуре внедрения зависимостей позже, когда я получу больше информации об этом.
Проблема для меня заключается в том, что мне нужно сделать ссылку из моей модели dll на мою dll службы, которая кажется неправильной, и потому что я не уверен в том, насколько хорошо мои сгенерированные сущности linq2sql играют со структурами внедрения зависимостей и концепциями ООП думаю ниндзя выглядит наиболее перспективно).
Я надеялся, что кто-то с немного большим опытом, чем я, мог бы сказать, что я иду в правильном направлении с этим. Я знаю, что могу заставить это работать, но я хотел бы научить себя правильно делать это на том же этапе.