aspnetBoilerplate中的模块是什么?

问题描述 投票:0回答:1

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

see aspnetBoilerplate使用模块组成一个应用程序。

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

那么这意味着,例如,在c#namespace中是一个模块,因为它可以包含许多类?

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

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

所以它只是一个类,有一个方法!

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

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

dependency-injection domain-driven-design aspnetboilerplate
1个回答
2
投票

Abp模块只是一种在同一域/层下组织代码的方式,同时仍然可以配置/与其他模块交互

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

注意:生命周期挂钩中的寄存器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

© www.soinside.com 2019 - 2024. All rights reserved.