《精读 Mastering ABP Framework》教程发布

精读《Mastering ABP Framework》学习总结,掌握软件开发最佳实践,构建可维护 .NET 解决方案。从 ABP Framework 框架中学习如何构建现代 WEB 应用程序。

c93f42948513d5f4e7e09c574b69f3a6.png

掌握 ABP Framework 框架

ABP Framework 是一个完整的基础架构,遵循软件开发最佳实践,用于构建现代 WEB 应用程序。ABP Framework 通过提供框架和生态系统,来帮助你在开发过程中实践DRY原则(不要重复自己),并专注于业务代码开发。

本教程将帮助你从零开始全面了解 ABP Framework 和现代 WEB 应用程序开发技术。通过对基本概念和实际示例的逐步解释,了解现代 WEB 解决方案的要求以及 ABP Framework 如何帮助你轻松愉快地开发自己的解决方案。你将发现企业 WEB 应用程序开发的常见需求,并探索 ABP Framework 所提供的基础设施。

在本教程中,将掌握用于构建可维护和模块化 Web 解决方案的软件开发最佳实践。学习完,将能够创建一个易于开发、维护和测试的完整 WEB 解决方案。

课程目标

  • • 掌握使用 ABP Framework 框架中的最佳工具构建强大、可维护和可扩展的软件解决方案

  • • 掌握在应用程序中实施 SOLID 原则和领域驱动设计

  • • 掌握使用 ABP Framework 框架构建可维护的模块化解决方案

将会学到什么?

  • • 设置开发环境并开始使用 ABP Framework

  • • 使用 Entity Framework Core 和 MongoDB 开发数据访问层

  • • 了解横切关注点及其作用

  • • 掌握使用 ABP Framework 实现领域驱动设计

  • • 使用 ASP.NET Core MVC(Razor Pages)和 Blazor 构建 UI

  • • 使用多租户系统创建模块化 WEB 应用程序

  • • 使用 ABP Framework 编写单元测试、集成测试以及 UI测试

为谁而写?

希望学习软件架构和最佳实践的软件开发人员,使用 .NET 技术和 ABP Framework 构建可维护WEB解决方案。须具备 C# 和 ASP.NET Core 基础知识。

内容结构

第一部分:ABP Framework 简介

第1章 现代软件开发和 ABP Framework,讨论了开发企业级应用程序的常见挑战,并解释了ABP Framework如何解决这些挑战。

第2章 开始使用 ABP Framework,解释了如何用 ABP Framework 创建和运行一个新的解决方案。

第3章 一步一步进行项目开发,是本教程最长的一章,通过一个应用实例展示使用 ABP Framework 开发的完整过程。在这一章之后,我们将掌握 ABP Framework 创建应用程序整体框架,并在之后的章节中详细解释具体的细节内容。

第4章 理解 EventHub 示例解决方案,解释 EventHub 解决方案的架构和结构,该项目是为本教程读者创建的一个大型的真实的示例应用程序。

第二部分:ABP Framework 基础设施

第5章 探索 ASP.NET Core 和 ABP Framework 基础设施,解释基本概念,如依赖注入、模块化、配置和日志。这些主题对于理解用 ABP Framework 和 ASP.NET Core 进行开发至关重要。

第6章 使用数据访问基础设施,介绍实体、仓储和工作单元的概念,并展示了如何与 Entity Framework Core 和 MongoDB 集成,学习查询和操作数据以及控制数据库事务的不同方法。

第7章 探索横切关注点,应用中的三个重要关注点:授权、验证和异常处理。学习如何定义和使用基于权限的授权系统,验证用户输入,以及处理异常和异常消息。

第8章 ABP功能和服务,涵盖ABP常用功能,如使用当前用户,使用数据过滤和审计日志系统,缓存数据,以及本地化用户界面。

第三部分:实现领域驱动设计

在这一部分中,聚焦领域驱动设计。开始学习DDD理论知识,然后基于 ABP Framework 实现领域驱动设计,演示和分析具体的规则和示例。

第9章 理解领域驱动设计,是DDD相关章节的第一部分。它首先定义了DDD,并基于DDD构建了一个.NET解决方案。你将了解到ABP的启动模板是如何从DDD的标准四层解决方案模型演化而来的。你还将了解到DDD的构建模块和原则。

第10章 DDD:领域层,继续研究DDD的领域层。首先解释了 EventHub 领域对象,因为本章和下一章的例子都基于这些对象。将学习如何设计聚合体;实现领域服务、仓储和规约;以及使用事件总线来发布领域事件。

第11章 DDD:应用层,重点是应用层。学习设计和验证数据传输对象以及实现应用服务的最佳实践。在本章中还会讨论领域层和应用层的职责。

为什么该部分 DDD 没有包含展示层和基础设施层介绍?在领域驱动设计中,领域层和应用层相对稳定,也是DDD架构的核心。展示层技术和基础设层技术可以根据技术选型,有多种不同的实现。展示层是第4部分内容,分别介绍了使用 MVC Razor Pages 和 Blazor WebAssembly UI 技术;基础设施层在第6章,分别介绍Entity Framework Core 集成和MongoDB集成。

第四部分:用户界面和API开发

第12章 使用 MVC Razor Pages,在服务器端开发MVC Razor Pages 应用程序。将了解 ABP Framework 中的主题系统(Theme),学习用户界面展示技术,如静态资源捆绑和压缩、标签助手(TagHelper)、表单、菜单和模态框。还将学习如何进行客户端到服务器端的API调用,并使用 ABP Framework 提供的 JavaScript API来显示通知、消息框等。

第13章 使用 Blazor WebAssembly UI,与前一章类似,解释了使用微软 Blazor SPA 框架和ABP Framework 进行UI开发。Blazor是一个很好的框架,开发者可以在浏览器中使用他们现有的.NET技能。ABP为调用HTTP APIs提供内置的解决方案,实现主题化,并提供实用的服务,使常见的UI任务变得更加容易,从而使开发更快一步。

第14章 构建 HTTP APIs 和实时服务,解释了如何用常规 ASP.NET 方法创建API控制器以及ABP Framework 自动API控制器系统,并讨论了何时需要手动定义控制器。在这一章中,还将学习动态和静态的C#代理,以便从.NET客户端到基于ABP Framework的HTTP服务中自动进行客户端到服务器的API调用。这一章还包括使用SignalR与ABP Framework的整合。

第五部分:其他

第15章 模块化开发,用一个例子解释了可重用的应用程序模块化开发。我们将为 EventHub 解决方案创建一个支付模块,并在本章中解释该模块的结构。通过这种方式,让您了解如何开发可重用模块并将它们安装到应用程序中。

第16章 实现多租户,多租户是一种构建软件即服务(SaaS)解决方案的架构模式。首先学习多租户架构模式使用场景,是否适合您的解决方案,然后学习如何开发与ABP的多租户系统兼容的代码。本章还介绍了ABP的特性系统,该系统用于将应用程序功能定义为特性,并在多租户解决方案中将它们分配给租户。

第17章 构建自动化测试,解释了 ABP Framework 提供的自动化测试基础设施,以及如何使用xUnit作为测试框架为应用程序构建单元测试和集成测试。还将学习自动化测试的基础知识,如断言、模拟数据和服务替换以及异常处理。

→→点击下面原文链接直达→→

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/281384.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# 委托知识总结

1.什么是委托,为什么要使用委托 我正在埋头苦写程序,突然想喝水,但是又不想自己去掉杯水而打断自己的思路,于是我就想让女朋友去给我倒水。她去给我倒水,首先我得让她知道我想让她干什么,通知她之后我可以继…

阿里云大学课程学习有奖征文活动现在开始

2019独角兽企业重金招聘Python工程师标准>>> "学有所获,分享为美"--阿里云大学课程学习有奖征文活动开始啦~~ 看课程,写心得,赢千元大奖,还有机会加入阿里云大学技术作者群!想试试自己的技术文笔…

Android 的系统架构

Android 的系统架构和其它操作系统一样,采用了分层的架构。android 分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和 linux 核心层。 Android 是以 Linux 为核心的手机操作平台,作为一款开放式的操作系统&#xf…

记一次 .NET 某制造业 MES 系统崩溃分析

一:背景 1.讲故事前段时间有位朋友微信找到我,说他的程序偶尔会出现内存溢出崩溃,让我帮忙看下是怎么回事,咨询了下程序是 x86 部署,听到这个词其实心里已经有了数,不管怎么样还是用 windbg 分析一下。二&a…

首次公开!单日600PB的计算力--阿里巴巴EB级大数据平台的进击

摘要: 每年的双11之前,也是MaxCompute各种乾坤大挪移落定的时候,因为双11就是各种大折腾项目的自然deadline。在今年双11之前,一路向北迁移和在离线混部项目,将杭州集群除蚂蚁外整体迁移到张北,涉及了绝大部…

软件测试金字塔

软件测试金字塔 在敏捷方法中,持续集成是其基石,持续集成的核心是自动化测试。下面这篇关于测试金字塔的文章,来自大师Martin Fowler。 测试金字塔的概念来自Mike Cohn,在他的书Succeeding With Agile中有详细描述:测试…

使用pm2守护你的.NET Core应用程序

简介PM2是常用的node进程管理工具,它可以提供node.js应用管理,如自动重载、性能监控、负载均衡等。同类工具有Supervisor、Forever等。pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控…

程序员搞笑段子

转载于:https://www.cnblogs.com/Zhusi/p/10083474.html

CA周记 - 在 Azure ML 上用 .NET 跑机器学习

.NET 是一个跨平台,全场景应用的开源技术。你有在用 .NET 做机器学习/深度学习的应用吗?如果从框架角度,ML.NET / Tensorflow.NET / 不断在进步的 TorchSharp 通过几年的发展已经开始稳定,但如果在一些大型项目上,特别…

iOS10 优化APP首次安装网络权限提示方案

我刚经历了一场末日(停电),特别是在你想写文档的时候。。。 言归正传,今天的问题是解决iOS10系统下首次按钮APP弹出的网络权限提示所带来了问题以及优化。 起因 查了相关文章知道由于大陆工信部出台的新规指出,应用在未…

su命令

从一个用户切换到另一个用户:su - ceshi(ceshi是用户名) 查看当前用户:whoami 在不切换用户的情况执行另一个用户的命令:例:su - -c "touch /tmp/111.txt" admin 若用户没有加目录需要添加家目录,并更改所有…

PS批量替换内容

在制作图片物料的时候,有时会碰到需要制作大量内容格式一致,但部分文字或图片不同的图片,这里我们使用PS的变量功能 物料准备:准备好需要替换的图片和文字,使用excel制作出需要替换的内容,第一行name和pic…

在 .NET 中执行 JavaScript 代码

你好,这里是 Dotnet 工具箱,定期分享 Dotnet 有趣,实用的工具和组件,希望对您有用!Jint 简介如果您想在您的 .NET 程序中使用 Javascript,那么我推荐您使用 Jint。Jint 是适用于 .NET 的 开源 Javascript 解…

jmeter多用户登录跨线程组操作传值

项目需求: 需要登录两个用户A、B,用户A操作完后会通知B,然后B再操作,B操作完结束或者再通知A。 实现思路: 1. 设置两个线程组Ⅰ、Ⅱ,组Ⅰ添加cookie管理器,里面添加用户A的操作;组Ⅱ…

手动修改美化7zip图标 - 附替换文件

手动修改7zip图标理论知识制作ico图标文件替换资源重建图标缓存效果图替换文件7-Zip的自带图标是公认的丑,所以网上有很多7-Zip的图标美化工具,用的最多的就是 7-Zip Theme Manager,自带很多主题,但是最近我再使用7zTM修改图标是却…

.NET性能优化-复用StringBuilder

在之前的文章中,我们介绍了 dotnet 在字符串拼接时可以使用的一些性能优化技巧。比如:为StringBuilder设置 Buffer 初始大小使用ValueStringBuilder等等 不过这些都多多少少有一些局限性,比如StringBuilder还是会存在new StringBuilder()这样…

如何使用vue组件搭建网页并打包发布

vue组件化项目搭建及编译打包发布引言开发环境开发环境介绍开发环境安装使用模板创建项目编译及打包发布引言 最近开始学习Vue,Vue 是一个前端框架,特点是数据绑定和组件化。网上很多教程,数据绑定和组件学习起来也都不困难,但是…

Facebook揭秘其应用测试平台,并开源核心技术

本周,Facebook让一群记者参观了它位于俄勒冈州普赖恩维尔市的数据中心,在这个过程中也展示了他们的一个移动应用测试实验室,用来测试Facebook app、 Messenger 和Instagram。 目前 这个实验室总共含有60个机架,每个机架上放置32台…

责任链模式 职责链模式 Chain of Responsibility Pattern 行为型 设计模式(十七)

责任链模式(Chain of Responsibility Pattern)职责链模式意图 使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系将这些对象连接成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。责任…

YOLOv7 在 ML.NET 中使用 ONNX 检测对象

本文介绍如何在 ML.NET 中使用 YOLOv7 的 ONNX 模型来检测图像中的对象。什么是 YOLOYOLO(You Only Look Once)是一种先进的实时目标检测系统。它是一个在COCO数据集上预训练的物体检测架构和模型系列,其版本也是在不断优化更新。2022年7月&a…