Asp.Net 核心模块化应用
Asp.Net Core Modular Application
我正在构建 asp.net 核心 2 模块化应用程序,我有一个模块,但现在我要创建另一个模块,我到了需要在两个模块之间建立通信的地步,我需要在模块 B 中使用模块 A 中的模型 class,如何在模块之间没有任何依赖关系的情况下实现这一点
我不想将模型 class 放在共享项目中,也不想在模块之间创建引用。
模块不应该依赖于另一个模块,它只能依赖于合同。一些例子。您有模块 A
,接口 IModuleAService
和实现它的 class,ModuleAService
。模块 B
需要 IModuleAService
的服务 ModuleBSerice
实现。所以创建单独的程序集:
ModuleA.Abstractions
:包含 IModuleAService
和其他合同
ModuleA
:依赖于ModuleA.Abstraction
,包含实现IModuleAService
的classModuleAService
ModuleB
: 取决于ModuleA.Abstraction
.
并且在启动时 class 您需要注册所有模块。 IoC 将为您完成所有工作。如果稍后您想将应用程序分成两个,这将很容易。案例你需要
实施代理访问 ModuleA
.
我正在构建 asp.net 核心 2 模块化应用程序,我有一个模块,但现在我要创建另一个模块,我到了需要在两个模块之间建立通信的地步,我需要在模块 B 中使用模块 A 中的模型 class,如何在模块之间没有任何依赖关系的情况下实现这一点 我不想将模型 class 放在共享项目中,也不想在模块之间创建引用。
模块不应该依赖于另一个模块,它只能依赖于合同。一些例子。您有模块 A
,接口 IModuleAService
和实现它的 class,ModuleAService
。模块 B
需要 IModuleAService
的服务 ModuleBSerice
实现。所以创建单独的程序集:
ModuleA.Abstractions
:包含IModuleAService
和其他合同ModuleA
:依赖于ModuleA.Abstraction
,包含实现IModuleAService
的classModuleB
: 取决于ModuleA.Abstraction
.
ModuleAService
并且在启动时 class 您需要注册所有模块。 IoC 将为您完成所有工作。如果稍后您想将应用程序分成两个,这将很容易。案例你需要
实施代理访问 ModuleA
.