ABP源码分析一:整体项目结构及目录

时间:2024-03-27 09:35:20

ABP是一套非常优秀的web应用程序架构,适合用来搭建集中式架构的web应用程序。

整个Abp的Infrastructure是以Abp这个package为核心模块(core)+15个模块(module).其中13个依赖于Abp这个核心包。另外两个包(FluentMigration,Web.Resources)相对独立

ABP源码分析一:整体项目结构及目录

Abp.AutoMapper: 实现对象之间的自动映射。

Abp.EntityFramework:通过EntityFramework实现数据访问层。

Abp.FluentMigrator :对FluentMigrator库做了易用性扩展。

Abp.HangFire:集成了HangFire,用于实现后台工作任务。

Abp.MemoryDb:MemoryDB的数据访问层

Abp.MongoDB:MongoDB的数据访问层。这个模块是个鸡肋,实际项目中无法使用。原因后面会详述。

Abp.NHibernate:通过NHibernate实现数据访问层。

Abp.Owin:目前只有一个IAppBuilder的扩展方法,用来解决application启动时候的AppDomain CultureInfo Leak问题。 关于这个Issue可以点击这里

Abp.RedisCache:Redis的数据访问层

Abp.Web: 提供给ASP.Net web application 使用的模块

Abp.Web.Api: 提供给ASP.Net web application Webapi使用的模块

Abp.Web.Mvc: 提供给ASP.Net web application MVC 使用的模块

Abp.Web.Api.Odata : 提供给ASP.Net web application Webapi Odata 使用的模块

Abp.Web.SignalR : 集成SignalR

Abp.Web.Resources:这个模块中只有js和css代码,是用来扩展angularjs或jquery的?

ABP源码分析一:整体项目结构及目录

ABP源码分析系列文章目录:

ABP源码分析二:ABP中配置的注册和初始化

ABP源码分析三:ABP Module

ABP源码分析四:Configuration

ABP源码分析五:ABP初始化全过程

ABP源码分析六:依赖注入的实现

ABP源码分析七:Setting 以及 Mail

ABP源码分析八:Logger集成

ABP源码分析九:后台工作任务

ABP源码分析十:Unit Of Work

ABP源码分析十一:Timing

ABP源码分析十二:本地化

ABP源码分析十三:缓存Cache实现

ABP源码分析十四:Entity的设计

ABP源码分析十五:ABP中的实用扩展方法

ABP源码分析十六:DTO的设计

ABP源码分析十七:DTO 自动校验的实现

ABP源码分析十八:UI Inputs

ABP源码分析十九:Auditing

ABP源码分析二十:ApplicationService

ABP源码分析二十一:Feature

ABP源码分析二十二:Navigation

ABP源码分析二十三:Authorization

ABP源码分析二十四:Notification

ABP源码分析二十五:EventBus

ABP源码分析二十六:核心框架中的一些其他功能

ABP源码分析二十七:ABP.Entity Framework

ABP源码分析二十八:ABP.MemoryDB

ABP源码分析二十九:ABP.MongoDb

ABP源码分析三十:ABP.RedisCache

ABP源码分析三十一:ABP.AutoMapper

ABP源码分析三十二:ABP.SignalR

ABP源码分析三十三:ABP.Web

ABP源码分析三十四:ABP.Web.Mvc

ABP源码分析三十五:ABP中动态WebAPI原理解析

ABP源码分析三十六:ABP.Web.Api

ABP源码分析三十七:ABP.Web.Api Script Proxy API

ABP源码分析三十八: ABP.Web.Api.OData

ABP源码分析三十九:ABP.Hangfire

ABP源码分析四十:ZERO的Application和Tenant

ABP源码分析四十一:ZERO的Audit,Setting,Background Job

ABP源码分析四十二:ZERO的身份认证

ABP源码分析四十三:ZERO的本地化

ABP源码分析四十四:ZERO的配置

ABP源码分析四十五:ABP ZERO中的EntityFramework模块

ABP源码分析四十六:ABP ZERO中的Ldap模块

ABP源码分析四十七:ABP中的异常处理