目前我正在使用Autofac
IoC 和两个组合根(一个用于前端,一个用于后端),我注册并解析跨越和Service
层的组件。Business
Data
到目前为止,我只有一个像“AccountingModule”这样的。现在,我将向应用程序添加几个新模块,其名称类似于InventoryModule
...
我的问题是我应该在层之间拆分每个模块类(解决方案 1)还是为每个模块分别设置所有层(解决方案 2)
解决方案1:
Service Layer
(AccountingMoudle, InventoryModule, ...)
Business Layer
(AccountingMoudle, InventoryModule, ...)
Data Layer
(AccountingModule, InventoryModule, ...)
或者
解决方案2:
AccountingModule
(
Service Layer,
Business Layer,
Data Layer
)
InventoryModule
(
Service Layer,
Business Layer,
Data Layer
)
编辑 1
+-----------------------------+ +----------------------------+
+--+AccountingServiceComponent +-+InventoryServiceComponent
| Weak Dependency |
+--+AccountingBusinessComponent <------------------+ +-+InventoryBusinessComponent
| |
+--+AccountingDataComponent +-+InventoryDataComponent
+ +
+-+ GetDocumentByID(int id) +--+GetProductByID(int id)
| |
+-+ SaveDocument(Document d) +--+SaveProduct(Product p)
编辑 2 架构: