abp學習日誌六(模塊化開發)

模塊化

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章