ABP Framework 研习社经验总结(6.28-7.2) 研习社初衷 在翻译 <实现领域驱动设计>-- 基于 ABP Framework 实现领域驱动设计实用指南 时,因为DDD理论和实践的宽泛性,不同公司.不同行业.不同项目实现程度不同,觉得有必要为 ABP Framework 开发者提供一个良好的沟通.交流平台. 建群时间:2021.6.23 专注 ABP Framework 技术讨论.经验交流.资料共享!ABP Framework 研习社(QQ群:726299208) 欢迎更多的朋…
离写上一篇经验总结 ABP Framework 研习社经验总结(6.28-7.2) ,已经过去两周. ABP Framework 研习社(QQ群:726299208) 最近一周,又迎来了很多新伙伴,成员数量上升至300+. 从大家的关注度和群内讨论的活跃度来看, ABP Framework 在国内 .NET 开发社区的人气还是很高的.我们也看到了很多小伙伴已经开始在自己的项目中使用该框架,甚至在群里晒出自己的项目代码,探讨技术解决方案. 回归正题:ABP Framework 为什么好上手,不好深…
目录 新增功能概述 启动模板删除 EntityFrameworkCore.DbMigrations 项目 CMS-Kit 动态菜单管理 Razor引擎对文本模板的支持 DbContext/Entities 新的定制点 ABP CLI 新命令 新增 appsettings.secrets.json 配置文件 ABP Framework 其他改进 发布免费电子书:<Implementing Domain Driven Design> 新主题预告:LeptonX Theme 关于下一版本 dotNE…
原文:Unifying DbContexts for EF Core / Removing the EF Core Migrations Project 目录 导读:软件开发的一切都需要平衡 动机 警告 步骤 第一步:添加 Microsoft.EntityFrameworkCore.Tools 包到 EntityFrameworkCore 项目 第二步:创建设计时 DbContext 工厂 第三步:创建 数据库模式迁移器 第四步 转移数据库实体映射配置 第五步:从解决方案中移除 EntityFr…
.Net 6.0 发布之后,ABP Framework 也在第一时间进行了升级,并在一个多星期后(2021-11-16)发布了 5.0 RC.1 ,新功能和重要变更基本已经确定. 5.0版本新特性 新特性列表: 静态 C# 和 JavaScript 客户端代理 分布式事件总线支持事务收件箱&发件箱模式 在事务中发布事件 禁用用户 租户邮箱设置 仪表板授权控制 AbpControllerBase 基类 自动设置新实体 TenantId 属性值 静态(生成) C# 和 JavaScript 客户端代…
ABP Framework 5.2 RC 新增功能 目录 ABP Framework 5.2 RC 新增功能 单层解决方案模板 EF Core 数据库迁移 UI 和 数据库 选项 API 版本控制 源代码控制移除libs文件夹 对 Swagger UI 隐藏 ABP 默认端点 CMS Kit 应用模块自定义全局 CSS 和 JavaScript 其他 历史版本回顾 dotNET兄弟会-公众号 本文将介绍 ABP Framework 5.2 RC 版新增的主要功能: 单层解决方案模板 API 版本…
ABP Framework 5.3.0 稳定版已在2022年6月14日正式发布. 以下是本版本的新增功能: "开始"页面提供创建单层项目选项 启动模板提供 PWA 支持 Volo.Abp.Gdpr.Abstractions 包介绍 将发件箱中的事件批量发布到事件总线 eShopOnAbp 项目改进和电子书公告 LeptonX Lite 文档.项目状态和路线图 OpenIddict 模块和 Keyclock 集成 部署文档 欢迎加入 ABP Framework 研习社,千人QQ学习群(Q…
http://www.codeproject.com/Articles/1080517/Aspect-Oriented-Programming-using-Interceptors-wit Download sample application (or see the latest on Github) Contents Introduction What is Aspect Oriented Programming (AOP) and Method Interception? Manual W…
写在发布之前 有没有小伙伴跟我刚开始接触 ABP Framework 的感觉一样"一看文档深似海",看完文档之后,想要上手却找不着头绪. 本套教程写作的目的之一是为初学者提供一条相对简洁的快速上手路径,避免陷入到框架细节中,节省入门时间.降低上手难度,快速应用.整合.运行.发布整个解决方案,先从整体开发上对框架有一个把握. 官方文档提供的是"标准化"内容,在实际使用过程中,难免会遇到一些"意想不到的情况",启动模板不支持源码调试,官方教程也并没有…
从原理到代码:大牛教你如何用 TensorFlow 亲手搭建一套图像识别模块 | AI 研习社 PPT链接: https://pan.baidu.com/s/1i5Jrr1N 视频链接: https://v.qq.com/x/page/n0386utnrb0.html?start=492…
前言 大家好,我是张飞洪,谢谢你阅读我的文章. 自从土牛Halil ibrahim Kalkan的<Mastering ABP Framework>出版之后,我就开始马不停蹄进行学习阅读和翻译,目前基本保持一周两章的进度. 为什么要翻译? ABP的官方文档应该是比较全面了,但是有几个问题: 大部分文档中文版都不够完整和全面,目前的核心语言还是英文,这给那些想要深入学习ABP框架的同学带来困扰. Halil ibrahim Kalkan亲自写的最核心的两本<Implementing Dom…
提示26. 怎样避免使用不完整(Stub)实体进行数据库查询 什么是不完整(Stub)实体? 不完整实体是一个部分填充实体,用于替代真实的对象. 例如: 1 Category c = new Category {ID = 5}; 就是一个不完整实体. 这个实体中只有ID被填充,表示这是一个代表Category 5的Stub. Stub实体什么时候有用? 当你真正不需要知道一个实体的一切对象时,Stub实体就很有用,主要因为通过使用这种实体你可以避免不必要的查询,但也因为它们比EntityKey更…
本系列目录:Abp介绍和经验分享-目录 什么是后台作业系统 后台作业系统即BackgroundJob,从需求上讲,是一套基础设施,允许我们定义一个作业,在未来指定的某个时间去执行. 后台作业的一般场景: 如果某个业务逻辑很复杂,但又不是立即需要反馈结果给用户: 如果有个任务需要定时循环执行: 如果有个批量任务: 如果有个任务需要延后一段时间(在未来某个指定的时间)执行: 举几个典型例子: 订单在创建后30分钟未支付则自动取消并释放库存: 一个有几万甚至几十万粉丝的公众号需要同步粉丝信息到数据库:…
abp是一个有用的框架,包含许多功能,可以用来作为脚手架. 直接在官方网站上输入相应的工程名称,选择对应的版本就会下载对应的版本..net core 版本的可以使用后端框架部分来做api,包含了常用框架的所有信息. 更改使用mysql数据库: 需要首先更换相应的ef的包,卸载原来sqlserver的相关依赖在efcore项目里,之后安装efmysql相关的依赖. 修改代码中efsqlserver部分为mysqlserver相关代码. 代码之后添加 配置连接字符串为mysql相关参数,之后删除ef…
感谢 ABP框架中国小组 给我们带来的ABP中文翻译,Web+为方便广大学习爱好者随时查阅,现推出了Gitbook风格的在线阅读文档:http://www.webplus.org.cn/document/abp/ 反馈交流:http://www.webplus.org.cn/thread/abp-framework-zhong-wen-wen-dang-shang-xian/…
介绍 ABP抽象了主题系统,将已有的UI更改到其他的UI框架非常简单,本文介绍了如何将主题切换为AntBlazor Theme. 源码以及示例在Gihub开源. Lsw.Abp.AntDesignUI 项目与ABP官方无关,它是一个社区项目. 什么是Ant Blazor 和 Lsw.Abp.AntDesignUI Ant Blazor全称Ant Design Blazor,是一个流行的社区项目,比较符合国人审美,用于创建美观,高性能的Blazor应用程序. Lsw.Abp.AntDesignUI…
提前安装好elk(elasticsearch.logstach.kibana) 一 启动logstash $LOGSTASH_HOME默认位于/usr/share/logstash或/opt/logstash 1 nginx日志使用默认格式 log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer"…
什么是领域驱动设计? 领域驱动设计(简称:DDD)是一种针对复杂需求的软件开发方法.将软件实现与不断发展的模型联系起来,专注于核心领域逻辑,而不是基础设施细节.DDD适用于复杂领域和大规模应用,而不是简单的CRUD应用.它有助于建立一个灵活.模块化和可维护的代码库. OOP 和 SOLID DDD实现高度依赖面向对象编程思想(OOP)和SOLID原则.实际上,实现并扩展了这些原则.因此,在真正实施DDD时,对OOP和SOLID的良好理解将对您有很大帮助. DDD 和 Clean Architec…
目录 前言 聚合 聚合和聚合根原则 包含业务原则 单个单元原则 事务边界原则 可序列化原则 聚合和聚合根最佳实践 只通过ID引用其他聚合 用于 EF Core 和 关系型数据库 保持聚合根足够小 聚合根/实体中的主键 聚合根/实体构造函数 业务逻辑和实体中的异常处理 实体中业务逻辑需要用到外部服务 学习帮助 前言 上一篇 基于ABP落地领域驱动设计-01.全景图 概述了DDD理论和对应的解决方案.项目组成.项目引用关系,以及基于ABP落地DDD的通用原则.从这本篇开始,会更加深入地介绍在基于 A…
目录 系列文章 仓储 仓储的通用原则 仓储中不包含领域逻辑 规约 在实体中使用规约 在仓储中使用规约 组合规约 学习帮助 围绕DDD和ABP Framework两个核心技术,后面还会陆续发布核心构件实现.综合案例实现系列文章,敬请关注! ABP Framework 研习社(QQ群:726299208) ABP Framework 学习及实施DDD经验分享:示例源码.电子书共享,欢迎加入! 系列文章 基于ABP落地领域驱动设计-01.全景图 基于ABP落地领域驱动设计-02.聚合和聚合根的最佳实践…
<实现领域驱动设计> -- 基于 ABP Framework 实现领域驱动设计实用指南 翻译缘由 自 ABP vNext 1.0 开始学习和使用该框架,被其优雅的设计和实现吸引,适逢 ABP Framework 4.3 版本发布,官网将实现DDD部分的帮助文档,整理成电子书<Implementing Domain Driven Design> 发布,标志着ABP对DDD开发支持趋于完善. 参看照英文版电子书,基于对该框架的理解,边学边译,希望让更多人了解.学习和掌握 ABP Fra…
目录 系列文章 领域服务 应用服务 学习帮助 系列文章 基于ABP落地领域驱动设计-00.目录和前言 基于ABP落地领域驱动设计-01.全景图 基于ABP落地领域驱动设计-02.聚合和聚合根的最佳实践和原则 基于ABP落地领域驱动设计-03.仓储和规约最佳实践和原则 基于ABP落地领域驱动设计-04.领域服务和应用服务的最佳实践和原则 基于ABP落地领域驱动设计-05.实体创建和更新最佳实践 基于ABP落地领域驱动设计-06.正确区分领域逻辑和应用逻辑 围绕DDD和ABP Framework两个…
目录 系列文章 数据传输对象 输入DTO最佳实践 不要在输入DTO中定义不使用的属性 不要重用输入DTO 输入DTO中验证逻辑 输出DTO最佳实践 对象映射 学习帮助 系列文章 基于ABP落地领域驱动设计-00.目录和前言 基于ABP落地领域驱动设计-01.全景图 基于ABP落地领域驱动设计-02.聚合和聚合根的最佳实践和原则 基于ABP落地领域驱动设计-03.仓储和规约最佳实践和原则 基于ABP落地领域驱动设计-04.领域服务和应用服务的最佳实践和原则 基于ABP落地领域驱动设计-05.实体创…
目录 系列文章 领域逻辑和应用逻辑 多应用层 示例:正确区分应用逻辑和领域逻辑 学习帮助 系列文章 基于ABP落地领域驱动设计-00.目录和前言 基于ABP落地领域驱动设计-01.全景图 基于ABP落地领域驱动设计-02.聚合和聚合根的最佳实践和原则 基于ABP落地领域驱动设计-03.仓储和规约最佳实践和原则 基于ABP落地领域驱动设计-04.领域服务和应用服务的最佳实践和原则 基于ABP落地领域驱动设计-05.实体创建和更新最佳实践 基于ABP落地领域驱动设计-06.正确区分领域逻辑和应用逻辑…
本文是ABP官方文档翻译版,翻译基于 3.2.5 版本 官方文档分四部分 一. 教程文档 二.ABP 框架 三.zero 模块 四.其他(中文翻译资源) 本篇是第一部分的第一篇. 第一部分分三篇 1-1 手把手引进门 1-2 进阶 1-3 杂项 (相关理论知识) 第一篇含两个步骤. 1-1-1 ASP.NET Core & Entity Framework Core 后端(内核) 1-1-2 ASP.NET MVC, Web API, EntityFramework & AngularJs…
ASP.NET Core 介绍 迁移到ASP.NET Core? 启动模板 配置 启动类 模块配置 控制器 应用服务作为控制器 过滤器 授权过滤器 审计Action过滤器 校验过滤器 工作单元Action过滤器 异常过滤器 结果过滤器 Ajax请求的结果缓存 模型绑定器 视图 客户端代理 集成测试 介绍 本文档描述了ABP如何集成ASP.NET Core.ASP.NET Core通过Abp.AspNetCore nuget包实现集成. 迁移到ASP.NET Core? 如果你已经有一个工程并考虑…
Introduction This document describes ASP.NET Core integration for ASP.NET Boilerplate framework. ASP.NET Core integration is implemented in Abp.AspNetCore nuget package 本文档介绍了ASP.NET样板ASP.NET核心集成框架.ASP.NET的核心集成在abp.aspnetcore NuGet包实现 Migrating to AS…
一.总体与公共结构 1,ABP配置 2,多租户 3,ABP Session 4,缓存 5,日志 6,设置管理 7,Timing 8,ABPMapper 9,发送电子邮件 二.领域层 10,实体 11,值对象 12,仓储 13,领域服务 14,规格模式 15,工作单元 16,事件总线 17,数据过滤器 三.应用层 18,应用服务 19,数据传输对象 20,验证数据传输对象 21,授权 22,功能管理 23,审计日志 四.分布式服务层 24,ASP.NET Web API Controllers 2…
该文章是系列文章 基于.NetCore和ABP框架如何让Windows服务执行Quartz定时作业 的其中一篇. 问题 ABP.WindowsService/Demo.MyJob/4.0.0该项目不仅包含了Job服务,还有一个Abp项目自动生成的web站点服务.之前改造了job的日志记录,之后尝试改造web站点.发现一个问题,就是每次启动都会生成类似下文的日志,但是这些日志都不是我主动记录的日志.那么显然,当你试图记录日志,下面的这些框架自动生成的诊断日志就会成为干扰.如何去除这些诊断日志呢?…