WebEnh

.net7 mvc jquery bootstrap json 学习中 第一次学PHP,正在研究中。自学进行时... ... 我的博客 https://enhweb.github.io/ 不错的皮肤:darkgreentrip,iMetro_HD
随笔 - 1079, 文章 - 1, 评论 - 75, 阅读 - 174万
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

ABP架构学习系列一 整体项目结构及目录

Posted on   WebEnh  阅读(863)  评论(0编辑  收藏  举报
本系列是基于aspnetboilerplate-0.8.4.0版本写的,其中原因是由于较高的版本太抽象难以理解和分析,对于还菜菜的我要花更多的时间去学习。
abp的源码分析学习主要来源于 HK Zhang ,他的博客是https://www.cnblogs.com/1zhk/

一、什么是ABP

ASP.NET Boilerplate(ABP)是现代新的Web应用程序的最佳实践和最流行的工具的起点。它的目标是实体模型、通用应用程序框架和项目模板。
ABP是一个建立在最新的ASP.NET的MVC和Web API技术的应用框架。它可以很容易地使用依赖注入、日志记录、验证、异常处理、本地化等,也使用流行的框架和库。
ABP实现N层架构(域、应用、基础设施和表示层)和领域驱动设计(实体库,仓储,领域/应用服务、数据传输对象..)。还实现并提供了一个良好的基础结构来实现诸如依赖注入的最佳实践。
ABP创建你的项目启动模板。它包括默认使用的大多数框架和库。你也可以选择单页(AngularJS)或多页(MVC)架构,EntityFramework或NHibernate作为ORM。

二、项目结构

ABP是一套非常优秀的web应用程序架构,适合用来搭建集中式架构的web应用程序。
整个Abp的Infrastructure是以Abp这个package为核心模块(core)+15个模块(module).其中13个依赖于Abp这个核心包,另外两个包(FluentMigration,Web.Resources)相对独立。
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的?
 

三、文章目录

 
 

 

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2016-12-05 C# Enum,Int,String的互相转换
2016-12-05 https://github.com/commonsensesoftware/More
2016-12-05 FrozenUI - 专注于移动web的UI框架
2016-12-05 Microsoft.Owin.Hosting 实现启动webapp.dll
2016-12-05 PHP操作mysql数据库:[2]查询数据听语音
2016-12-05 细说ASP.NET Core静态文件的缓存方式
2016-12-05 详解MySQL的用户密码过期功能
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

了解更多