模塊化
ABP本身是一個包含許多nuget包的模塊化框架.它還提供了一個完整的基礎架構來開發你自己的具有實體, 服務, 數據庫集成, API, UI組件等等功能的應用程序模塊.
模塊化是根據項目進行劃分的,具體怎麼劃分應該根據業務來定義,abp對模塊化的項目做了一些包裝。
繼承AbpModule
比如EntityFramework模塊吧,有如下源碼
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.Modularity;
namespace LY.Shop.EntityFrameworkCore
{
[DependsOn(
typeof(ShopDomainModule),
typeof(AbpEntityFrameworkCoreModule)
)]
public class ShopEntityFrameworkCoreModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddAbpDbContext<ShopDbContext>(options =>
{
options.AddDefaultRepositories();
/* Add custom repositories here. Example:
* options.AddRepository<Question, EfCoreQuestionRepository>();
*/
});
}
public override void OnApplicationInitialization(ApplicationInitializationContext context)
{
base.OnApplicationInitialization(context);
}
}
}
這裏有兩個常用的方法
ConfigureServices
這個方法可以理解成startup中的ConfigureServices方法
OnApplicationInitialization
這個方法可以理解成startup中的Configure
總結
關於模塊化確實我理解的也就這麼多,沒有太多可記錄的,總之就是按照abp的約束做,這樣才能保證一個統一的風格。
abp的模塊化分層
請看官方文檔,說的非常清楚
https://docs.abp.io/zh-Hans/abp/latest/Best-Practices/Module-Architecture
https://docs.abp.io/zh-Hans/abp/latest/Best-Practices/Module-Architecture