Взаимозависимость уровня обслуживания

Я разрабатываю приложение asp.net mvc, которое использует уровень обслуживания. Что, если у нас есть услуга, которая зависит от другой услуги? Например, предположим, что у нас есть следующая модель:

class UserService : IUserService
{
    //implementation requires IEmailService
}    

Конечно, конкретная реализация EmailService может быть вставлена ​​в конструктор UserService, но, как я понимаю, уровень сервиса должен выступать посредником между UI и моделью предметной области, это как фасад. Я бы определил другой уровень таким образом, чтобы UserService зависел от IUserModule и IEmailModule, таким образом мы могли бы нарушить зависимость между службами, при этом службы зависят от нижнего уровня (в моем случае уровень модуля). Это правильный подход?

5
задан Markus 12 November 2010 в 12:33
поделиться