aspnetBoilerplate 中的模块是什么?

What are Modules in aspnetBoilerplate?

aspnetBoilerplate 基于领域驱动设计设计模式。

see aspnetBoilerplate 使用 modules.

组成一个应用程序

我不明白什么是模块,我 searched 它是在领域驱动设计的上下文中定义的,我发现它充当了一组特定 classes 的容器一个应用程序。

这是否意味着,例如,在 c# 命名空间中是一个模块,因为它可以包含许多 classes?

但即使有了这个定义,在 aspnetBoilerplate 的上下文中也不清楚,aspnetBoilerplate 中的模块定义具有以下结构:

  public class MyBlogApplicationModule : AbpModule
 {
     public override void Initialize()
     {
        IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());
     }
  }

所以它只有一个 class,只有一种方法!

还有模型和依赖注入之间的关系是什么?

为什么在 IocContainer 中将模型注册为服务?

Abp 模块只是您在相同 domain/layer 下组织代码的一种方式,同时仍然能够 configure/interact 与其他模块

例如您的模块是一个单独的库项目,包含一定的领域逻辑,要正确初始化您的模块,您可以将初始化代码放在模块生命周期钩子中

注意:在生命周期挂钩中注册 DI 是与 DI 服务交互的示例(可能在您的项目之外配置)

https://aspnetboilerplate.com/Pages/Documents/Module-System#lifecycle-methods

Abp 提供了方便的注册方式 类 遵循约定

IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());

注意:推荐的方式是每个程序集只有一个 abp 模块

https://aspnetboilerplate.com/Pages/Documents/Dependency-Injection#registering-dependencies