zoukankan      html  css  js  c++  java
  • abp 模块系统

    abp模块系统:ABP理论学习之模块系统

    ABP提供了构建模块并将这些模块组合起来创建应用的基础设施。一个模块可以依赖另一个模块。一般来说,一个程序集可以认为是一个模块。一个模块是由一个派生了AbpModule的类定义的。

    ABP按照依赖的顺序调用这些方法。如果模块A依赖于模块B,那么模块B在模块A之前初始化。方法执行的正确顺序是:PreInitialize-B, PreInitialize-A, Initialize-B, Initialize-A, PostInitialize-B and PostInitialize-A。这对于所有的依赖图都是成立的。


        [DependsOn(
            typeof(AbpZeroCoreModule),
            typeof(AbpWebSignalRModule),
            typeof(AbpAutoMapperModule),
            //typeof(AbpHangfireModule), - ENABLE TO USE HANGFIRE INSTEAD OF DEFAULT JOB MANAGER
            typeof(AbpWebMvcModule),
            typeof(AbpZeroEntityFrameworkModule),
            typeof(AbpWebApiModule),
    
            typeof(EasymanCommonModule),//Easyman.Common
            typeof(EasymanCoreModule),//Easyman.Core
            typeof(EasymanApplicationModule),//Easyman.Application
            typeof(EasymanDataModule),//Easyman.EntityFramework
            typeof(EasymanViewMoudle),//Easyman.FwWeb
    
            typeof(EmProjectCommonModule),//Em.Project.Common
            typeof(EmProjectCoreModule),//Em.Project.Core
            typeof(EmProjectAppModule),//Em.Project.Application
            typeof(EmProjectDataModule),//Em.Project.EntityFramework
            typeof(EasymanWebApiModule)//Em.Project.WebApi
           )]
        public class EasymanWebModule : AbpModule{}
    View Code

    由于abp会根据设置模块依赖顺序加载初始化模块(DependsOn),

    那也可以这样做:在一个项目中,非web的moudle中不设置依赖项,而是去web目录下按照模块加载顺序去配置依赖项(参考以上代码块)

    但是,这不是abp推荐的依赖设置方式,应该遵循任意一个模块(程序集)单独拿出均可引入至其他项目(而不用担心未设置它的依赖项)

  • 相关阅读:
    BUCK/BOOST电路原理分析
    boost升压电路原理
    NPN/PNP和N沟道/P沟道负载的接法
    常用电源芯片记录
    LDO和BUCK降压稳压器对比
    some nets were not able to be matched
    Altium PCB布局时快速摆放元件的技巧
    树莓派+android things+实时音视频传输demo之遥控小车
    野狗产品与价格
    librtmp将本地FLV文件发布到RTMP流媒体服务器
  • 原文地址:https://www.cnblogs.com/senyier/p/7306721.html
Copyright © 2011-2022 走看看