aService
和a之间的区别到底是什么Component
?扩展方法如何RegisterComponent()
与此定义相关?
Autofac的词汇表定义如下:
零件
声明其提供的服务及其消耗的依赖关系的代码体
服务
在提供组件和使用组件之间共享的定义明确的行为合同
这使我感到困惑。说一个组件使用多个服务是否正确?像下面的例子吗?
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();
}
}
还是组件始终是服务/接口的实现?我就是不明白。
如果有人可以举例说明,我将不胜感激。
Component
在解决过程之后,A将是一段具体的代码。
AComponent
由一项或多项服务描述。即:Component
是ServiceA
AService
用于描述a Component
,并将用于定义组件之间的关系。即:ComponentA
需要serviceB
和serviceC
。
在下面的代码中
builder.RegisterType<XXX>()
.As<IA>()
.Named<IB>("X");
XXX
将由Component
类型化服务和命名服务来描述。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句