上一页 1 ··· 9 10 11 12 13
  2022年7月25日
摘要: 本文主要介绍了多应用层的问题,包括原因和实现。通过理解介绍了如何区分领域逻辑和应用逻辑,哪些是正确的实践,哪些是不推荐的或者错误的实践。 一.多应用层的问题 1.多应用层介绍 不知道你们是否会遇到一种情况,通过ABP构建了一个后端的API项目,刚开始是为Web端项目(比如,Vue)提供后端接口服务的 阅读全文
posted @ 2022-07-25 00:24 扫地升 阅读(802) 评论(0) 推荐(1) 编辑
  2022年7月24日
摘要: 本文主要介绍了通过构造函数和领域服务创建实体2种方式,后者多用于在创建实体时需要其它业务规则检测的场景。最后介绍了在应用服务层中如何进行实体的更新操作。 一.通过构造函数创建实体 假如Issue的聚合根类为: public class Issue : AggregateRoot<Guid> { pu 阅读全文
posted @ 2022-07-24 13:09 扫地升 阅读(618) 评论(0) 推荐(1) 编辑
  2022年7月23日
摘要: WinDbg从字面意思就是Windows+Debug的组合,即Windows平台上的调试工具,可以调试用户模式、内核模式、dump文件等,总之知道它的调试功能非常强大就行了。WinDbg调试命令分为3种,分别是基本命令、元命令和扩展命令。基本命令和元命令是调试器自带的,元命令总以"."开头,而扩展命 阅读全文
posted @ 2022-07-23 22:11 扫地升 阅读(1108) 评论(0) 推荐(1) 编辑
  2022年7月21日
摘要: 什么是领域服务呢?领域服务就是领域对象本身的服务,通常是通过多个聚合以实现单个聚合无法处理的逻辑。 一.领域服务实践 接下来将聚合根Issue中的AssignToAsync()方法[将问题分配给用户],剥离到领域服务当中。如下: // ABP当中的领域服务类通常都是以Manager结尾的 publi 阅读全文
posted @ 2022-07-21 08:58 扫地升 阅读(4497) 评论(19) 推荐(8) 编辑
  2022年7月18日
摘要: 由于软件系统中可能有着不同的数据库,不同的ORM,仓储思想的本质是解耦它们。在ABP中具体的实现仓储接口定义在领域层,实现在基础设施层。仓储接口被领域层(比如领域服务)和应用层用来访问数据库,操作聚合根,聚合根就是业务单元。这篇文章主要分析怎么通过规约将业务逻辑从仓储实现中剥离出来,从而让仓储专注于 阅读全文
posted @ 2022-07-18 22:55 扫地升 阅读(832) 评论(4) 推荐(2) 编辑
  2022年7月17日
摘要: 首先,标准化的英文是Standardization,归一化的英文是Normalization,正则化的英文是Regularization。标准化是特征缩放的一种方式,需要注意的是标准化之后的数据分布并不一定是正态分布,因为标准化并不会改变原始数据的分布。归一化的目的是消除不同量纲及单位影响,提高数据 阅读全文
posted @ 2022-07-17 09:37 扫地升 阅读(897) 评论(0) 推荐(1) 编辑
  2022年7月15日
摘要: 在下面的例子中涉及Repository、Issue、Label、User这4个聚合根,接下来以Issue聚合为例进行分析,其中Issue聚合是由Issue[聚合根]、Comment[实体]、IssueLabel[值对象]组成的集合。 1.单个单元原则 简单理解,一个聚合就是由实体和值对象组成的集合, 阅读全文
posted @ 2022-07-15 12:56 扫地升 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 什么是DDD呢?领域驱动设计[DDD]是一种针对复杂需求的软件开发方法。将软件实现与不断发展的模型联系起来,专注于核心领域逻辑,而不是基础设施细节。DDD适用于复杂领域和大规模应用,而不是简单的CRUD应用。它有助于建立一个灵活、模块化和可维护的代码库。 一.DDD中的领域层和应用层相关概念 DDD 阅读全文
posted @ 2022-07-15 12:41 扫地升 阅读(224) 评论(2) 推荐(1) 编辑
上一页 1 ··· 9 10 11 12 13