Я разрабатываю приложение asp.net mvc, которое использует уровень обслуживания. Что, если у нас есть услуга, которая зависит от другой услуги? Например, предположим, что у нас есть следующая модель:
class UserService : IUserService
{
//implementation requires IEmailService
}
Конечно, конкретная реализация EmailService может быть вставлена в конструктор UserService, но, как я понимаю, уровень сервиса должен выступать посредником между UI и моделью предметной области, это как фасад. Я бы определил другой уровень таким образом, чтобы UserService зависел от IUserModule и IEmailModule, таким образом мы могли бы нарушить зависимость между службами, при этом службы зависят от нижнего уровня (в моем случае уровень модуля). Это правильный подход?