Какая разница между Service
и Component
? И как метод расширения RegisterComponent()
относится к этим определениям?
Глоссарий Autofa c определяет его следующим образом:
Компонент
Текст кода, который объявляет Услуги, которые он предоставляет и зависимостей, которые он потребляет
Сервис
Четко определенный поведенческий контракт, разделенный между поставщиком и потребляющим Компонентом
Это смущает меня .. Правильно ли будет сказать, что компонент использует несколько сервисов? Что-то вроде приведенного ниже примера?
public interface IServiceA
{
void DoSomething();
}
public ServiceA : IServiceA
{
void DoSomething()
{
// Do some magic
}
}
public class ComponentA
{
private readonly IServiceA serviceA;
public ComponentA(IServiceA serviceA)
{
this.serviceA = serviceA;
}
public void SomeOperation()
{
this.serviceA.DoSomething();
}
}
Или компонент всегда является реализацией службы / интерфейса? Я просто не понимаю
Я был бы благодарен, если бы кто-нибудь мог прояснить на уловимом примере.