一、简要介绍#

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. Mybatis分页方法

    使用方法https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md 使用 Maven 在 pom ...

  2. Linux下安装Fiddler

    1.首先,你要有个Mono环境,在Ubuntu环境下安装很简单,输入: sudo apt-get install mono-complete 2.下载一个最新的Fiddler for Mono版本,下 ...

  3. java 线程安全(初级)

    创建和启动Java线程 Java线程是个对象,和其他任何的Java对象一样.线程是类的实例java.lang.Thread,或该类的子类的实例.除了对象之外,java线程还可以执行代码. 创建和启动线 ...

  4. [Go] Slices vs Array

    It is recommended to use 'slice' over 'Array'. An array variable denotes the entire array; it is not ...

  5. LeetCode 855. Exam Room

    原题链接在这里:https://leetcode.com/problems/exam-room/ 题目: In an exam room, there are N seats in a single ...

  6. java实现ssh登录linux服务器并下发命令

    依赖jar包:jsch-0.1.55.jar   commons-io-2.5.jar import com.jcraft.jsch.ChannelExec; import com.jcraft.js ...

  7. 使用rbenv 进行ruby 多版本的管理

    今天需要安装一个ruby 包,但是ruby 版本过低,以前使用过rvm,但是在安装rvm 的时候发现系统有异常 错误信息,发现还有另外一个不错的可选工具 rbenv 安装 我是mac 系统 使用bre ...

  8. vue echarts 给双饼图添加点击事件

    在用 echarts 画旭双饼图( https://www.echartsjs.com/examples/zh/editor.html?c=pie-nest )的时候,经常会伴随着点击事件 如果想要在 ...

  9. 【JZOJ6223】【20190617】互膜

    题目 小\(A\)和小\(B\)在一个长度为\(2n\)的数组上面博弈,初始时奇数位置为A,偶数位置为B 小\(A\)先手,第\(i\)次操作的人可以将\(i\)或者\(i+1\)位置的值反转(也可以 ...

  10. Brexit Gym - 101490C

    题目链接:Brexit vector的使用(vector存边),巧用queue,相当于Bfs /* */ # include <iostream> # include <cstdio ...