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