一、简要介绍#

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》 (侯捷)。

ABP vNext的更多相关文章

  1. [Abp vNext 源码分析] - 文章目录

    一.简要介绍 ABP vNext 是 ABP 框架作者所发起的新项目,截止目前 (2019 年 2 月 18 日) 已经拥有 1400 多个 Star,最新版本号为 v 0.16.0 ,但还属于预览版 ...

  2. [Abp vNext 源码分析] - 3. 依赖注入与拦截器

    一.简要说明 ABP vNext 框架在使用依赖注入服务的时候,是直接使用的微软提供的 Microsoft.Extensions.DependencyInjection 包.这里与原来的 ABP 框架 ...

  3. [Abp vNext 源码分析] - 2. 模块系统的变化

    一.简要说明 本篇文章主要分析 Abp vNext 当中的模块系统,从类型构造层面上来看,Abp vNext 当中不再只是单纯的通过 AbpModuleManager 来管理其他的模块,它现在则是 I ...

  4. [Abp vNext 源码分析] - 1. 框架启动流程分析

    一.简要说明 本篇文章主要剖析与讲解 Abp vNext 在 Web API 项目下的启动流程,让大家了解整个 Abp vNext 框架是如何运作的.总的来说 ,Abp vNext 比起 ABP 框架 ...

  5. 自定义Visual Studio.net Extensions 开发符合ABP vnext框架代码生成插件[附源码]

    介绍 我很早之前一直在做mvc5 scaffolder的开发功能做的已经非常完善,使用代码对mvc5的项目开发效率确实能成倍的提高,就算是刚进团队的新成员也能很快上手,如果你感兴趣 可以参考 http ...

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

    今天这篇文章我将通过实例代码带着大家一步一步通过abp vNext这个asp.net core的快速开发框架来进行Quartz.net定时任务调度的管理界面的开发.大伙最好跟着一起敲一下代码,当然源码 ...

  7. Abp vNext 切换MySql数据库

    Abp vNext是Abp的下一代版本,目前还在经一步完善,代码已经全部重写了,好的东西保留了下来,去除了很多笨重的东西,从官宣来看,Abp vNext主要是为了以后微服务架构而诞生的. 从源码来看, ...

  8. [译]ABP vNext微服务演示,项目状态和路线图

    译注: ABP的主要负责人hikalkan最近又发布了一篇博客, 说明了ABP vNext的微服务演示,项目状态和路线图.其中特意对ABP的中文社区进行了感谢! 本文翻译自该博客文章(https:// ...

  9. [译]ABP vNext介绍

    译者注 ASP.NET Boilerplate是.Net平台非常优秀的一个开源Web应用程序框架,在国内也有大量的粉丝. 近日, 本人在github上闲逛, 发现ASP.NET Boilerplate ...

  10. [Abp vNext 源码分析] - 4. 工作单元

    一.简要说明 统一工作单元是一个比较重要的基础设施组件,它负责管理整个业务流程当中涉及到的数据库事务,一旦某个环节出现异常自动进行回滚处理. 在 ABP vNext 框架当中,工作单元被独立出来作为一 ...

随机推荐

  1. numpy函数库中一些常用函数的记录

    ##numpy函数库中一些常用函数的记录 最近才开始接触Python,python中为我们提供了大量的库,不太熟悉,因此在<机器学习实战>的学习中,对遇到的一些函数的用法进行记录. (1) ...

  2. HBase数据结构

    1 RowKey 与nosql数据库们一样,RowKey是用来检索记录的主键.访问HBASE table中的行,只有三种方式: 1.通过单个RowKey访问 2.通过RowKey的range(正则) ...

  3. 11 open source business models

    https://www.zdnet.com/article/11-open-source-business-models/ Critics are always claiming open sourc ...

  4. 利用GitHub+Node.js+Hexo搭建个人博客

    本篇是自己在搭建Hexo博客平台时的一个过程记录.(2019.9.13实测有效) GitHub 账号注册 因为此文所搭建的个人博客是基于GitHub平台服务的,所以首先是注册GitHub,当然已有账号 ...

  5. LeetCode 842. Split Array into Fibonacci Sequence

    原题链接在这里:https://leetcode.com/problems/split-array-into-fibonacci-sequence/ 题目: Given a string S of d ...

  6. 使用if和switch制作简单的年龄生肖判断

    -年 查询 --> var oDiv =document.getElementById("cont"); var oYear = document.getElementByI ...

  7. 洛谷 P3905 道路重建 题解

    P3905 道路重建 题目描述 从前,在一个王国中,在\(n\)个城市间有\(m\)条道路连接,而且任意两个城市之间至多有一条道路直接相连.在经过一次严重的战争之后,有\(d\)条道路被破坏了.国王想 ...

  8. 利用Python进行数据分析【第二版】【高清中文版英文版源代码】

    如果被河蟹请回复我更新链接   这是我花钱弄的,免费分享给大家.没有密码,直接可以观看!   希望大家不要拿去后再做收费分享   如果好用,请给个赞好嘛~~~   1.中文pdf 链接:https:/ ...

  9. Git常用命令及常见报错:You have not concluded your merge (MERGE_HEAD exists)、清理无效的远程追踪分支

    一.常用命令 切换到master分支:git checkout master 查看已有本地及远程分支:git branch -a(先git pull拉下全部数据) 查看远程分支:git branch ...

  10. Spark-Streaming kafka count 案例

    Streaming 统计来自 kafka 的数据,这里涉及到的比较,kafka 的数据是使用从 flume 获取到的,这里相当于一个小的案例. 1. 启动 kafka Spark-Streaming ...