NopCommerce架构分析(一)Autofac依赖注入类生成容器

2019-05-22 21:05:15于海丽

而接口IDependencyRegistrar的内容如下:

namespace Nop.Core.Infrastructure.DependencyManagement 
{ 
 public interface IDependencyRegistrar 
 { 
  /// <summary> 
  /// 此方法在通过ContainerBuilder注册依赖关系。 
  /// </summary> 
  /// <param name="builder">容器管理者类</param> 
  /// <param name="typeFinder">类型查找者接口</param> 
  void Register(ContainerBuilder builder, ITypeFinder typeFinder); 
  /// <summary> 
  /// 注册排序序号 
  /// </summary> 
  int Order { get; } 
 } 
}

6、单例类容器

单例类系列保存系统中与程序相同生命周期的单例对象,或者叫做单例类容器。

其中包括实体类,集合类和字典类的单例容器。

Singleton<T>,SingletonList<T>,SingletonDictionary<TKey, TValue>。EngineContext就是通过Singleton<T>类来管理引擎的。

7、MVC 服务提供类。

类型依赖获取器:NopDependencyResolver,通过继承mvc下的接口:IDependencyResolver,并在Application_Start方法中注册,使之在系统启动时调用。

//set dependency resolver 
var dependencyResolver = new NopDependencyResolver();
DependencyResolver.SetResolver(dependencyResolver);

8、其他

事件拦截类:EventBroker:过滤向系统发送的请求,防止由于临时的错误或异常导致系统崩溃。

系统启动时执行任务:IStartupTask,启动时执行的任务主要是数据库的初始化和加载。