ABP vNext

一、简要介绍#

ABP vNext 是 ABP 框架作者所发起的新项目,截止目前 (2019 年 8 月 20 日) 已经拥有 1400 多个 Star,最新版本号为 v 0.19.0,可以尝试用于生产环境。新的 ABP vNext 框架完全是基于 ASP .NET Core 进行开发,其完全模块化的组件库能够让开发人员拥有更多的选择空间。

ABP vNext 框架核心库比 ABP 框架更加精简,因为将原有许多的组件从其核心库抽离成独立的组件。这样开发人员可以更加灵活的选择自己需要的功能进行集成,使项目远离臃肿的库。

当然新的框架也是基于多租户体系,不同租户的数据相互隔离,在开发人员进行编码的时候完全感受不到多租户的存在。

比起原有的 ABP 框架,我在这里总结了 ABP vNext 比 ABP 框架所提升的点。

  • 完全基于 ASP .NET Core,丢掉了历史包袱,设计更加合理。
  • ABP vNext 主要聚焦于微服务架构,便于开发人员构建自己的微服务系统。
  • 更加细粒度的模块化设计,为现有应用 ABP 框架的项目减负,开发人员能够自主选择自己需要的组件。
  • ABP vNext 提供了虚拟文件系统,方便资源文件在不同的项目中重用。
  • 支持替换 DI 框架,可以自己选择需要使用的 DI 框架。(ABP vNext 使用的是 Autofac)

二、系列文章#

因为 ABP vNext 还处于预览版 (Preview) 状态,后续 ABP vNext 框架可能会有重大改动。故本系列文章主要用于学习与研究其设计思路,不适合用于 ABP vNext 的教学资料/使用文档。

  • 《[Abp vNext 源码分析] - 1. 框架启动流程分析》[点击我跳转]
  • 《[Abp vNext 源码分析] - 2. 模块系统的变化》[点击我跳转]
  • 《[Abp vNext 源码分析] - 3. 依赖注入与拦截器》[点击我跳转]
  • 《[Abp vNext 源码分析] - 4. 工作单元》[点击我跳转]
  • 《[Abp vNext 源码分析] - 5. DDD 的领域层支持(仓储、实体、值对象)》 [点击我跳转]
  • 《[Abp vNext 源码分析] - 6. DDD 的应用层支持(应用服务)》[点击我跳转]
  • 《[Abp vNext 源码分析] - 7. 权限与验证》[点击我跳转]
  • 《[Abp vNext 源码分析] - 8. 审计日志》[点击我跳转]
  • 《[Abp vNext 源码分析] - 9. 接口参数的验证》
  • 《[Abp vNext 源码分析] - 10. 框架的模块配置系统》
  • 《[Abp vNext 源码分析] - 11. 用户的自定义参数与配置》
  • 《[Abp vNext 源码分析] - 12. 后台作业与后台工作者》
  • 《[Abp vNext 源码分析] - 13. 本地事件总线与分布式事件总线(Rabbit MQ)》
  • 《[Abp vNext 源码分析] - 14. EntityFramework Core 的集成》
  • 《[Abp vNext 源码分析] - 15. ASP.NET Core Mvc 集成》
  • 《[Abp vNext 源码分析] - 16. 对象自动映射功能 与 AutoMapper》
  • 《[Abp vNext 源码分析] - 17. 流畅验证)》
  • 《[Abp vNext 源码分析] - 18. 单元测试)》
  • 《[Abp vNext 源码分析] - 19. 多租户)》
  • 《[Abp vNext 源码分析] - 20. 电子邮件与短信支持)》
  • 《[Abp vNext 源码分析] - 21. 界面与文字的本地化)》
  • 《[Abp vNext 源码分析] - 22. 微服务的支持与实践)》

三、结语#

.NET Core 平台在 2018 年已经相继发布了多个稳定版本,其中 2.0 以后的 .NET Core 其实已经可以用于生产环境进行使用。基于 .NET Core 平台的项目也犹如雨后春笋般拔地而起,其中最具代表性的项目如 OcelotDotNetCAPAspectCore-FrameworksurgingDotnetSpiderABP vNextAvalonia

我也相信今后的 .NET Core 生态也会越来越繁荣,在这里我也会通过解析优秀 .NET Core 项目的源码实现让大家了解这些优秀项目的设计是如何实现的,有哪些地方值得我们去学习借鉴。

当然,我也希望大家不仅仅是要追求新的技术,打实基础才是后续发展的根本。在这里,我借用侯捷老师的一句话来说 “万丈高楼平地起,勿在浮沙筑高台” - 《深入浅出 MFC》 (侯捷)。

原文地址:https://www.cnblogs.com/Leo_wl/p/11657598.html

时间: 2024-11-09 10:29:12

ABP vNext的相关文章

ABP vNext模块系统初试 - 创建留言板模块

上次翻译的ABP vNext介绍发布后,引起了很多ABP好爱者的关注. 那么就趁热打铁,体验一下新ABP. 新的ABP中我最感兴趣的是它的模板系统,所以这次就利用模块系统做了留言板的例子,分享给大家. 留言板模块 我们的留言板模块功能很简单,就是提供用户留言的功能(废话),为了简单起见,功能都非常简陋: 通过菜单进入留言板 显示留言一览,显示的项目有:标题,作者和时间 任意用户可创建留言,修改或删除自己的留言 管理员可修改或删除任何留言 留言只有标题和正文,均为纯文本(不支持富文本). 使用AB

用abp vNext快速开发Quartz.NET定时任务管理界面

今天这篇文章我将通过实例代码带着大家一步一步通过abp vNext这个asp.net core的快速开发框架来进行Quartz.net定时任务调度的管理界面的开发.大伙最好跟着一起敲一下代码,当然源码我会上传到github上,有兴趣的小伙伴可以在文章底部查看源码链接. 作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p/10444060.html 写在前面 有几天没更新博客了,一方面因为比较忙,另一方面是因为最近在准备组织我们霸都合肥的.NET技术社区首次

Abp vNext抽茧剥丝01 使用using临时更改当前租户

在Abp vNext中,如果开启了多租户功能,在业务代码中默认使用当前租户的数据,如果我们需要更改当前租户,可以使用下面的方法 /* 此时当前租户 */ using (CurrentTenant.Change(tenantId)) { /* 此时为租户 tenantId */ } /* 此时为当前租户 */ 那上面这种在using中临时更改租户是怎样实现的呢,通过看源码然后自己整理了一下,简化版如下 /// <summary> /// 当Dispose方法被调用时 这个类可执行一个方法 ///

给 ABP vNext 应用安装私信模块

在上一节五分钟完成 ABP vNext 通讯录 App 开发 中,我们用完成了通讯录 App 的基础开发. 这本章节,我们会给通讯录 App 安装私信模块,使不同用户能够通过相互发送消息,并接收新私信的通知.在章节的最后,笔者将演示模块的"改装",实现禁止用户发私信给自己的定制化需求. 什么是"模块"? 使用 Abp 框架,你可以提前制作一些功能模块,例如微信登录.私信.博客.论坛等模块,将它们打包备用.在开发具体的 App 应用时,你可以轻松将模块安装到你的工程中

abp vNext 使用Mysql 数据库

1. 环境 编译器 vs2019 运行时 dotnet core  2.2 数据库 Mysql 5.8 2. 开发准备 使用abp 官方提供的 CLI工具 创建时因为网络原因会连接失败,幸好abp中文网有对应的国内CLI工具,在此感谢~ 安装 CLI dotnet tool install -g Cn.Abp.Cli 如果之前安装过,更新可以使用: dotnet tool update -g Cn.Abp.Cli 3. 创建项目 根据官方示例,创建一个Acme.BookStore项目 cnabp

Abp vnext 使用sql2005、sql2008等脚本报错解决

Startup.cs文件,在ConfigureServices方法中加入以下代码 services.Configure<AbpDbContextOptions>(options => { options.UseSqlServer(b => b.UseRowNumberForPaging()); }); 原文地址:https://www.cnblogs.com/HUGO_CM/p/10888910.html

Abp vNext 修改默认表前缀

1.修改 MyProjectMigrationsDbContext中OnModelCreating方法中 builder.ConfigurePermissionManagement("Abp_"); builder.ConfigureSettingManagement("Abp_"); builder.ConfigureBackgroundJobs(o => o.TablePrefix = "Abp_"); builder.Configur

使用 DryIoc 替换 Abp 的 DI 框架

一.背景 你说我 Castle Windsor 库用得好好的,为啥要大费周章的替换成 DryIoc 库呢?那就是性能,DryIoc 是一款优秀而且轻量级的 DI 框架,整个项目代码就两个文件,加起来代码 1 万行左右(PS: 大部分都是注释). 在各个 Ioc 容器的性能评测当中,DryIoc 以其优异的性能成为我选择使用他的原因.Abp 使用的 Castle Windsor 在解析复杂对象的时候,速度非常慢,而替换为 DryIoc 之后速度可以提升 150% 以上. [注意] 本文仅对 .NE

2019 年起如何开始学习 ABP 框架系列文章-开篇有益

2019 年起如何开始学习 ABP 框架系列文章-开篇有益 [[TOC]] 本系列文章推荐阅读地址为:52ABP 开发文档 https://www.52abp.com/Wiki/52abp/latest/Welcome-to-52abp 本文的目的是为了让刚刚接触 ABP 框架的同学或者准备接触 ABP 框架的同学,能够理解和搞明白 ABP 框架到底是怎么回事,毕竟它发展了好几年的时间.社区中有很多人做 了 ABP 的资料和文章包括我自己也建立了 52ABP,社区中还有 ABPplus 等等的内