注册接口及服务
在查看NopCommerce的源代码时,会注意到控制器中用到很多由接口声明的引用,则没有为这些引用赋值,但就可以直接通过这些引用来调用接口声明的方法,且程序运行完全正确。这是如何实现的?这一切,都缘于NopCommerce用了Autofac,并通过Autofac实现了接口与接口实现类之间的映射关系、使得在程序中通过“构造函数注入”的方式实现了为接口声明的引用赋值了实例对象,并通过此引用调用了实例对象的方法及属性。
接口与实现类的注册位置及注册方式,是在Presentation\Nop.Web.Framework\DependencyRegistrar.cs文件中配置接口ICategoryAttributeService与服务CategoryAttributeService的:
builder.RegisterType<CategoryAttributeService>().As<ICategoryAttributeService>().InstancePerLifetimeScope();
个人推广:文章代写与软件开发