2021年9月26日
简介 本项目基于golang开发,是一个开放的垂直领域的爬虫框架,框架中将各个功能模块区分开,方便使用者重新实现子模块,进而构建自己垂直方方向的爬虫。 本项目将爬虫的各个功能流程区分成Spider模块(主控),Downloader模块(下载器),PageProcesser模块(页面分……
阅读全文
2021年9月25日
对象映射对象 当两个对象具有相同或相似属性时,自动对象到对象映射是将值从一个对象复制到另一个对象的有用方法。 DTO 和实体类通常具有相同的/类似的属性,您通常需要从实体创建 DTO 对象。 ABP 的对象对象映射系统与自动映射器集成使这些操作比手动映射容易得多。 仅使用自动对象映射进行实体输出 DTO 映射。 不要……
阅读全文
2021年9月25日
需要外部服务的实体中的业务逻辑 当业务逻辑仅使用该实体的属性时,只需在实体方法中实施业务规则就很简单。 如果业务逻辑要求查询数据库或使用应从依赖性注入系统解决的任何外部服务,该怎么办? 记住:实体不能注入服务! 实现这种商业逻辑有两种常见方法: 在实体方法上实现业务逻辑,并获取外部依赖作为……
阅读全文
2021年9月25日
实现:构建基块 这是本系列的重要组成部分。我们将用实例介绍和解释一些明确的规则。您可以遵循这些规则,并在实施域驱动设计时应用到您的解决方案中。 示例领域 示例将使用 GitHub 使用的一些概念,如问题、存储库、标签和用户,您已经熟悉。 下图显示了一些聚合、聚合根、实体、价值对象及其之间的关系: 问题聚……
阅读全文
2021年9月24日
简单代码! 踢足球很简单,但踢简单的足球是最难的。- 约翰 · 克鲁伊夫 如果我们把这个著名的名言作为编程,我们可以说: 编写代码非常简单,但编写简单的代码是最 难的事情。 什么是域驱动设计? 域驱动设计 (DDD) 是将实现与 不断发展的模型连接起来,满足复杂需求的软件开发方法; DDD 适用于复杂的领域和大……
阅读全文
2021年9月24日
这篇文章是一个摘要, 给自己一个关于子域和边界上下文的差异的说明。这些术语通常由域驱动设计从业者使用。曾经有段时间,我把它们混在一起一点点。希望你能发现这个有用。如果你发现任何不准确之处,请告诉我。我仍在改进我的 DDD 实践和知识。 子域 让我们从什么是亚多曼开始。子域位于问题空间中。一个大……
阅读全文
2021年9月24日
DDD 可分为战略和战术设计,其中战术设计是关于 DDD 的构建基块的。这篇文章将是关于DDD的基本构建基块:***实体和价值对象(VOs)。***实体和 VO 是 DDD 中表示模型的两个构建基块。它们是域驱动设计(服务和域事件除外)的起点。 除了只看实体和VO的定义,我还将为您提供一些如何区分它们的指导。……
阅读全文
2021年9月24日
DDD 语境中什么是领域? 知识、影响力或活动领域。用户应用程序的主题区域是软件的域。 我将向您提供 DDD 的概述。这篇文章是关于**DDD 的 “为什么?**我不会深入探讨这里的特定主题。不过,我会指出一些重要术语的定义,就像我刚才对"域"所做的那样。正如您将意识到……
阅读全文
2021年9月24日
域建模是困难的。教学和学习域建模更加困难。因此,我的目标是帮助您学习这个巨大的主题,让您对领域驱动的意义有一个坚实的基本理解。概念概念和挖掘示例是本系列的意义。人们经常直接潜入开发带有代码的业务线应用程序 (LoB),但在实施可能导致灾难之前不知道 DDD 真正代表什么。从历史上看,单体建……
阅读全文
2021年9月24日
此过程为您提供了一个分步学习指南,并实际应用了领域驱动设计 (DDD) 的各个方面 - 从围绕组织的业务模式定位到编码域模型。 使用此过程将引导您完成设计具有 DDD 思维的软件系统的每一个基本步骤,这样您就可以专注于业务挑战,而不是同时学习 DDD 而不知所措。 一旦您经历了流程的几次迭代,您将拥有基础 DDD……
阅读全文