Я пытаюсь зарегистрировать свои «сервисы» с помощью AutoFac. Сервисы называются на основе соглашения (Aggregate Root + «Service»), и все реализуют интерфейсы с тем же именем: «I» + ServiceName. Например, OrderService
реализует IOrderService
.Как регистрировать службы и типы, которые находятся в отдельных сборках в AutoFac?
Однако конкретные типы и интерфейсы находятся в отдельных сборках. До сих пор у меня есть следующий код:
builder.RegisterAssemblyTypes(typeof(OrderService).Assembly)
.Where(t => t.Name.EndsWith("Service"))
.AsImplementedInterfaces();
Это лучший способ добиться этого в AutoFac? Что делать, если некоторые из моих услуг происходят из абстрактного класса?
Стивен, замечательная точка зрения о нарушениях SRP и RAP. У меня есть общий интерфейс для моего репозитория, но он полностью игнорирует эти службы. Я был вдохновлен вашими сообщениями о разделении комманд-запросов и будет стремиться следовать этому шаблону в ближайшем будущем. – Karl