如何解决如何在ABP框架中组织代码?
我对组织代码有一些疑问。我看到了两种组织代码的方式:package by layer
和package by component
。
http://www.codingthearchitecture.com/2015/03/08/package_by_component_and_architecturally_aligned_testing.html
ABP框架本身不需要采用特定的形式,并且似乎支持这两种形式。
在ABP框架提供的示例中只能看到package by layer
。尚不清楚是否可以使用package by component
。
例如,存在三个边界上下文:订单,产品和客户。
如果使用package by layer
,将如下图所示。
Project.sln
Project.Application
OrderContext
ProductContext
CustomerContext
Project.Core
OrderContext
ProductContext
CustomerContext
Project.EntityFrameworkCore
...
如果使用package by component
,将如下图所示。
Project.sln
hosts
Project.Host
modules
orders
Order.Application
Order.Core
Order.EntityFrameworkCore
products
Product.Application
Product.Core
Product.EntityFrameworkCore
customers
Customer.Application
Customer.Core
Customer.EntityFrameworkCore
哪种方法在ABP框架中使用更广泛?
解决方法
ASP.NET样板使用package by layer
或“域驱动设计层”。
https://aspnetboilerplate.com/Pages/Documents/NLayer-Architecture
以下是可从https://aspnetboilerplate.com/Templates下载的官方模板的文件夹结构,其源代码位于https://github.com/aspnetboilerplate/module-zero-core-template:
AbpCompanyName.AbpProjectName.sln
src/
AbpCompanyName.AbpProjectName.Application/
Authorization/
Configuration/
MultiTenancy/
Roles/
Users/
AbpCompanyName.AbpProjectName.Core/
Authorization/
Roles/
Users/
Configuration/
MultiTenancy/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。