首页 .Net 一、Abp vNext 基础篇丨介绍

一、Abp vNext 基础篇丨介绍

系列文章列表,点击展示/隐藏

系列教程一目录:知识点源码解析

系列教程二目录:Bcvp AbpVnext讲解

系列教程三目录:单个知识点讲解

系列教程四目录:分库分表(日志系统案例讲解)

本文梯子

    正文

    缘起

    在.Net行也目前工作5年,前年认识了老张的哲学,也跟着一起学习了非常多的知识,非常感谢老张鼓励我来做ABP这个系列的教程,我也努努力带着我那小小的海漂梦(上海漂流)来搞起。

    ABP vNext 简要介绍

    ABP vNext 框架是一个基于ASP.NET核心的完整基础设施,通过遵循软件开发最佳实践和最新技术来创建现代web应用程序和API,不同于老的ABP框架新的 ABP vNext 框架核心库更加精简,因为将原有许多的组件从其核心库抽离成独立的组件。这样开发人员可以更加灵活的选择自己需要的功能进行集成,使项目远离臃肿的库,比起原有的 ABP 框架 ABP vNext 完全基于 ASP.NET Core 丢掉了历史包袱,设计更加合理,更加细粒度的模块化设计。

    Abp vNext 官方文档提供了非常全面的功能介绍,官方提供了启动模板,模板遵循了领域驱动设计的最佳实践来进行项目分层,引入了常用的功能模块。

    如果你有不错的.Net基础那么Abp你用起来会的心用手,使用过程中遇到的问题几乎可以在官方文档和Issues中找到并解决。

    但如果你是一个 .Net 新手你不知道什么是依赖注入、模块化、DDD 推荐先去 https://www.cnblogs.com/laozhang-is-phi/p/9495618.html#autoid-1-0-0学习一下。

    后续文章中出现的ABP都是指ABP vNext。

    开篇简介

    Bcvp.Blog.Core是基于老张的哲学Blog.Core项目采用ABP vNext框架和DDD思想进行重构的项目,教程面向.Net Core初中级开发人员,从基础项目搭建开始一步步学习使用ABP vNext框架并在开发中融入DDD思想。

    整篇文章目前会分为3个阶段分别是。

    • 基础篇(学习ABP vNext框架和DDD)。
    • 中级篇(学习模块化和部分源代码)。
    • 高级篇(ABP vNext微服务)。

    组织地址:
    https://github.com/BaseCoreVueProject

    作者博客:
    https://www.cnblogs.com/MrChuJiu/

    框架功能

    整体教程会设计的功能介绍如下,下图为ABP官方商业版,我们只抽取部分功能进行实现。

    前端框架目前采用Bcvp组织的:https://github.com/BaseCoreVueProject/angular-template 作为前端教程框架,暂时不推荐将该框架应用生产(不是技术问题),ABP官方的目前正在推行LeptonX应该会有新的进展

    Abp官方商业版图

    ABP 自带功能

    • Saas管理
    • 组织管理
    • 角色管理
    • 审计日志
    • 系统设置

    业务功能

    • 博客管理
    • 文章管理

    前端站点

    • 发布文章
    • 用户登录/注册
    • 文章评论

    项目分层依赖关系

    项目依赖关系

    Domain.Shared 其他项⽬直接或间接引⽤,项⽬中定义的类型在所有项⽬中共享。

    Domain 只引⽤ Domain.Shared ,⽐如:在 Domain.Shared 中定义的 IssuType 枚举类型需要 在 Domain 项⽬中 Issue 实体中⽤到。

    Application.Contracts 依赖 Domain.Shared ,这样我们可以在 DTOs 中使⽤这些共享类型。 ⽐如: CreateIssueDto 中可以直接使⽤ IssueType 枚举。

    Application 依赖 Application.Contracts ,因为 Application 实现 Application.Contracts 中定义的服务接⼝和使⽤ DTO 对象。同时,引⽤ Domain 项⽬,在应 ⽤服务中使⽤仓储接⼝或领域对象。

    EntiryFrameworkCore 依赖 Domain ,映射 Domain 对象(实体和值类型)到数据库表 (ORM)并实现在 Domain 中定义的仓储接⼝。

    HttpApi 依赖 Application.Contract ,在控制器在内部对 应⽤服务接⼝ 进⾏依赖注⼊。

    HttpApi.Client 依赖 Application.Contract 消费应⽤服务 Web 依赖 HttpApi ,发布⾥⾯定义的 HTTP APIs 。另外,通过这种⽅式,它间接地依赖于 Application.Contracts 项⽬,可以在⻚⾯/组件中使⽤应⽤服务

    结语

    本节只是作为一个开篇讲解希望各位持续关注

    联系作者:加群:867095512 @MrChuJiu

    公众号

    特别声明:本站部分内容收集于互联网是出于更直观传递信息的目的。该内容版权归原作者所有,并不代表本站赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与824310991@qq.com联系,我们会及时反馈并处理完毕。