[Abp vNext 源码分析] - 文章目录
一、简要介绍
ABP vNext 是 ABP 框架作者所发起的新项目,截止目前 (2019 年 2 月 18 日) 已经拥有 1400 多个 Star,最新版本号为 v 0.16.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. EF Core 与 MongoDb 的集成》
- 《[Abp vNext 源码分析] - 5. 审计日志》
- 《[Abp vNext 源码分析] - 待定》
- 《[Abp vNext 源码分析] - 待定》
- 《[Abp vNext 源码分析] - 待定》
- 《[Abp vNext 源码分析] - 待定》
- 《[Abp vNext 源码分析] - 待定》
三、结语
.NET Core 平台在 2018 年已经相继发布了多个稳定版本,其中 2.0 以后的 .NET Core 其实已经可以用于生产环境进行使用。基于 .NET Core 平台的项目也犹如雨后春笋般拔地而起,其中最具代表性的项目如 Ocelot、DotNetCAP、AspectCore-Framework、surging、DotnetSpider、ABP vNext、Avalonia。
我也相信今后的 .NET Core 生态也会越来越繁荣,在这里我也会通过解析优秀 .NET Core 项目的源码实现让大家了解这些优秀项目的设计是如何实现的,有哪些地方值得我们去学习借鉴。
当然,我也希望大家不仅仅是要追求新的技术,打实基础才是后续发展的根本。在这里,我借用侯捷老师的一句话来说 “万丈高楼平地起,勿在浮沙筑高台” - 《深入浅出 MFC》 (侯捷)。
[Abp vNext 源码分析] - 文章目录的更多相关文章
- [Abp vNext 源码分析] - 5. DDD 的领域层支持(仓储、实体、值对象)
一.简要介绍 ABP vNext 框架本身就是围绕着 DDD 理念进行设计的,所以在 DDD 里面我们能够见到的实体.仓储.值对象.领域服务,ABP vNext 框架都为我们进行了实现,这些基础设施都 ...
- [Abp vNext 源码分析] - 3. 依赖注入与拦截器
一.简要说明 ABP vNext 框架在使用依赖注入服务的时候,是直接使用的微软提供的 Microsoft.Extensions.DependencyInjection 包.这里与原来的 ABP 框架 ...
- [Abp vNext 源码分析] - 2. 模块系统的变化
一.简要说明 本篇文章主要分析 Abp vNext 当中的模块系统,从类型构造层面上来看,Abp vNext 当中不再只是单纯的通过 AbpModuleManager 来管理其他的模块,它现在则是 I ...
- [Abp vNext 源码分析] - 1. 框架启动流程分析
一.简要说明 本篇文章主要剖析与讲解 Abp vNext 在 Web API 项目下的启动流程,让大家了解整个 Abp vNext 框架是如何运作的.总的来说 ,Abp vNext 比起 ABP 框架 ...
- [Abp vNext 源码分析] - 4. 工作单元
一.简要说明 统一工作单元是一个比较重要的基础设施组件,它负责管理整个业务流程当中涉及到的数据库事务,一旦某个环节出现异常自动进行回滚处理. 在 ABP vNext 框架当中,工作单元被独立出来作为一 ...
- [Abp vNext 源码分析] - 6. DDD 的应用层支持 (应用服务)
一.简要介绍 ABP vNext 针对于应用服务层,为我们单独设计了一个模块进行实现,即 Volo.Abp.Ddd.Application 模块. PS:最近博主也是在恶补 DDD 相关的知识,这里推 ...
- [Abp vNext 源码分析] - 7. 权限与验证
一.简要说明 在上篇文章里面,我们在 ApplicationService 当中看到了权限检测代码,通过注入 IAuthorizationService 就可以实现权限检测.不过跳转到源码才发现,这个 ...
- [Abp vNext 源码分析] - 9. 接口参数的验证
一.简要说明 ABP vNext 当中的审计模块早在 依赖注入与拦截器一文中有所提及,但没有详细的对其进行分析. 审计模块是 ABP vNext 框架的一个基本组件,它能够提供一些实用日志记录.不过这 ...
- [Abp vNext 源码分析] - 11. 用户的自定义参数与配置
一.简要说明 文章信息: 基于的 ABP vNext 版本:1.0.0 创作日期:2019 年 10 月 23 日晚 更新日期:暂无 ABP vNext 针对用户可编辑的配置,提供了单独的 Volo. ...
随机推荐
- python里如何保存float类型的小数的位数
python保留两位小数: In [1]: a = 5.026 In [2]: b = 5.000 In [3]: round(a,2) Out[3]: 5.03 In [4]: round(b,2) ...
- hibernate 增改查后对象的三种状态转换
this.getSession().update(obj); this.getSession().merge(obj); this.getSession().saveOrUpdate(obj);1. ...
- Python 三级菜单 增强版
需要实现的功能是:三级菜单1.从文本内读出选项2.查询每一级的选项,并能对选项进行增/删/改功能3.每一级可以退出程序或者返回上一层 2018-5-14 更新内容 思路 实现过程中的BUG及解决方案: ...
- orcl数据库先决条件检查时失败
在服务里面开启下面服务,在cmd输入 services.msc 就能打开[服务] 在cmd输入以下命令 我的是server服务没开,然后开了资源共享,就安装成功了
- 第一篇:tz师兄【附面试题总结】
本篇文章包含三部分: 师兄故事 面试经历 面试资源分享 师兄故事 tz师兄是一位及其低调的小伙,也是在班级中我比较欣赏的少年. 2017年大学毕业,原资源勘察工程专业. 大学期间自学java,之后进入 ...
- 【codeforces 698B】 Fix a Tree
题目链接: http://codeforces.com/problemset/problem/698/B 题解: 还是比较简单的.因为每个节点只有一个父亲,可以直接建反图,保证出现的环中只有一条路径. ...
- 【线段树】Bzoj1230 [Usaco2008 Nov]lites 开关灯
Description Farmer John尝试通过和奶牛们玩益智玩具来保持他的奶牛们思维敏捷. 其中一个大型玩具是牛栏中的灯. N (2 <= N <= 100,000) 头奶牛中的每 ...
- BZOJ4554: [Tjoi2016&Heoi2016]游戏 luoguP2825 loj2057
题面描述:尽可能多的放置符合要求的炸弹. 分析: 在i,j处放置炸弹,则在第i行,上一个硬石头之后,下一个硬石头之前,第j列,上一个硬石头之后,下一个硬石头之前,不能再次放置炸弹. 首先,这个题,一看 ...
- [NOIP2002]字串变换 T2 双向BFS
题目描述 已知有两个字串 A,B 及一组字串变换的规则(至多6个规则): A1−>B1 A2−>B2 规则的含义为:在 A$中的子串 A1可以变换为可以变换为B1.A2可以变换为可 ...
- java常用的框架介绍
一.SpringMVC http://blog.csdn.net/evankaka/article/details/45501811 Spring Web MVC是一种基于Java的实现了Web MV ...