zoukankan      html  css  js  c++  java
  • nopcommerce笔记1

    在Application_Start中依次的调用是:

    EngineContext.Initialize

    new NopEngine

    ContainerConfigurer.Configure

    NopEngine.Initialize

    ContainerConfigurer.Configure在NopEngine的构造函数调用:

    public NopEngine(EventBroker broker, ContainerConfigurer configurer)
    {
    var config = ConfigurationManager.GetSection("NopConfig") as NopConfig;
    InitializeContainer(configurer, broker, config);//这里面调用了ContainerConfigurer.Configure
    }

    private void InitializeContainer(ContainerConfigurer configurer, EventBroker broker, NopConfig config)
    {
    var builder = new ContainerBuilder();

    _containerManager = new ContainerManager(builder.Build());
    configurer.Configure(this, _containerManager, broker, config);
    }

    我当时有一个想法,为什么不把IEngine的接口void Initialize(NopConfig config);设计成:

    void Initialize(NopConfig config,ContainerConfigurer configurer, EventBroker broker);

    把在构造函数中的configurer.Configure调用移到Initialize中。

    后来一想,这样会失去通用性,因为ContainerConfigurer 、EventBroker 的功能并非必须的。

    非要移到Initialize中也不是不可,可以做一个实现IEngine的自己的类。

  • 相关阅读:
    php函数
    2、Locust压力测试 实战
    mysql常用命令
    3、加强siege性能测试
    2、使用siege进行服务端性能测试
    1、siege安装
    京东云Ubuntu下安装mysql
    1、Locust压力测试环境搭建
    1、Monkey环境搭建
    Postman和Selenium IDE开局自带红蓝BUFF属性,就问你要还是不要
  • 原文地址:https://www.cnblogs.com/whwqs/p/3411870.html
Copyright © 2011-2022 走看看