当前位置: 首页 > news >正文

[图解]DDD领域驱动设计伪创新-聚合根02

0
00:00:04,940 --> 00:00:06,993
在领域驱动设计之前

1
00:00:06,993 --> 00:00:09,503
的软件开发书籍里面

2
00:00:09,503 --> 00:00:12,470
并没有出现聚合根这样的说法

3
00:00:13,000 --> 00:00:14,840
大家可以去找一下

4
00:00:15,120 --> 00:00:15,315


5
00:00:15,315 --> 00:00:16,880
反正我是没找到

6
00:00:17,180 --> 00:00:23,330
所以呢,这个聚合根应该是Eric Evans的一个造词

7
00:00:24,100 --> 00:00:27,700
或者说,是他的一个创造,创新

8
00:00:28,490 --> 00:00:31,080
可惜,这个创新是一个错的

9
00:00:31,380 --> 00:00:31,646


10
00:00:31,646 --> 00:00:32,980
是一个伪创新

11
00:00:35,090 --> 00:00:36,020
为什么呢

12
00:00:37,180 --> 00:00:39,868
这个我们明天再说了

13
00:00:39,868 --> 00:00:45,490
实际上,这些内容,我已经写在《软件方法》下册里面了

14
00:00:45,770 --> 00:00:49,450
当前公开的电子版可以下载的

15
00:00:49,730 --> 00:00:52,189
大家感兴趣,想提前了解的

16
00:00:52,189 --> 00:00:53,135
可以下载

17
00:00:53,135 --> 00:00:55,028
书里面写清楚了

18
00:00:55,028 --> 00:00:57,298
包括我们前面的视频,有很多

19
00:00:57,298 --> 00:00:59,380
也是书里面都有写了的

20
00:00:59,680 --> 00:01:01,403
不一定要等着看视频

21
00:01:01,403 --> 00:01:03,126
或者说,一定要看视频

22
00:01:03,126 --> 00:01:04,677
很多(内容)书里面都有

23
00:01:04,677 --> 00:01:06,056
而且还有题目

24
00:01:06,056 --> 00:01:07,780
还有题目考察

0
00:00:01,240 --> 00:00:02,000
你看

1
00:00:02,280 --> 00:00:03,860
当我们把

2
00:00:04,260 --> 00:00:06,390
刚才植物那个图

3
00:00:06,670 --> 00:00:07,920
再往外扩

4
00:00:08,710 --> 00:00:08,941


5
00:00:08,941 --> 00:00:11,490
就得到更大的一个层级的

6
00:00:11,770 --> 00:00:15,010
整体-部分的关联的图

7
00:00:15,760 --> 00:00:17,220
我们可以看到

8
00:00:17,840 --> 00:00:21,010
对象可以由很多部件组成

9
00:00:21,290 --> 00:00:22,260
对象

10
00:00:22,570 --> 00:00:25,420
也可以成为更大对象的部件

11
00:00:26,100 --> 00:00:27,776
哪一个不是整体

12
00:00:27,776 --> 00:00:29,691
哪一个不是部分呢

13
00:00:29,691 --> 00:00:30,410
对不对

14
00:00:32,080 --> 00:00:35,330
对象本身它就是由

15
00:00:35,610 --> 00:00:37,706
自己的属性组成的嘛

16
00:00:37,706 --> 00:00:38,405
对不对

17
00:00:38,405 --> 00:00:41,900
然后它自己又可以组成更大的对象

18
00:00:43,190 --> 00:00:45,885
所以呢,你直接指着这个结点说

19
00:00:45,885 --> 00:00:47,130
它是一个整体

20
00:00:48,030 --> 00:00:48,302


21
00:00:48,302 --> 00:00:49,940
这是不对的

22
00:00:51,610 --> 00:00:53,700
那什么情况下

23
00:00:54,170 --> 00:00:55,280
可以

24
00:00:56,640 --> 00:00:58,247
把它定死了

25
00:00:58,247 --> 00:00:58,890
只有

26
00:00:59,820 --> 00:01:02,010
两层的情况下,可以

27
00:01:04,300 --> 00:01:05,200


28
00:01:05,490 --> 00:01:06,957
只有整体-部分

29
00:01:06,957 --> 00:01:08,180
定死了

30
00:01:08,860 --> 00:01:10,460
这下面就没有了

31
00:01:11,850 --> 00:01:13,450
这上面也没有了

32
00:01:14,770 --> 00:01:15,770
这可以

相关文章:

[图解]DDD领域驱动设计伪创新-聚合根02

0 00:00:04,940 --> 00:00:06,993 在领域驱动设计之前 1 00:00:06,993 --> 00:00:09,503 的软件开发书籍里面 2 00:00:09,503 --> 00:00:12,470 并没有出现聚合根这样的说法 3 00:00:13,000 --> 00:00:14,840 大家可以去找一下 4 00:00:15,120 --> 00:00:15…...

《QT实用小工具·二十》存款/贷款计算器

1、概述 源码放在文章末尾 该项目实现了用于存款和贷款的计算器的功能&#xff0c;如下图所示&#xff1a; 项目部分代码如下&#xff1a; #ifndef WIDGET_H #define WIDGET_H#include <QWidget>namespace Ui { class Widget; }class Widget : public QWidget {Q_OBJ…...

hbase基础shell用法

HBase中用create命令创建表&#xff0c;具体如下&#xff1a; create student,Sname,Ssex,Sage,Sdept,course 此时&#xff0c;即创建了一个“student”表&#xff0c;属性有&#xff1a;Sname,Ssex,Sage,Sdept,course。因为HBase的表中会有一个系统默认的属性作为行键&#x…...

ElasticSearch 的 BoolQueryBuilder 使用

ElasticSearch的BoolQueryBuilder定义&#xff1a; A Query that matches documents matching boolean combinations of other queries import org.elasticsearch.index.query.QueryBuilders;BoolQueryBuilder boolQueryBuilder QueryBuilders.boolQuery(); for (String wor…...

[C++/Linux] 网络I/O处理

引言&#xff1a;网络数据能够正常到达用户并且被接收是进行网络传输的根本目的&#xff0c;网络传输的数据发送和接收有多种方案&#xff0c;本文章就对通过向量接收和发送等数据传输方式&#xff0c;并且对多种I/O模型进详细分析介绍。 目录 一.I/O函数 1.1 recv和send rec…...

HarmonyOS4 页面路由

Index.ets: import router from ohos.routerclass RouterInfo {// 页面路径url: string// 页面标题title: stringconstructor(url: string, title: string) {this.url urlthis.title title} }Entry // 入口組件 Component struct Index {State message: string 页面列表// …...

ShardingSphere再回首

概念&#xff1a; 连接&#xff1a;通过协议 方言及库存储的适配&#xff0c;连接数据和应用&#xff0c;关注多模数据苦之间的合作 增量&#xff1a;抓取库入口流量题提供重定向&#xff0c; 流量变形(加密脱敏)/鉴权/治理(熔断限流)/分析等 可插拔&#xff1a;微内核 DDL:cr…...

第七篇:3.6 其他评估考虑/4.审计指南/5. 通用报告规范/6.披露指南、参考标准及其他 - IAB/MRC及《增强现实广告效果测量指南1.0》

翻译计划 第一篇概述—IAB与MRC及《增强现实广告效果测量指南》之目录、适用范围及术语第二篇广告效果测量定义和其他矩阵之- 3.1 广告印象&#xff08;AD Impression&#xff09;第三篇广告效果测量定义和其他矩阵之- 3.2 可见性 &#xff08;Viewability&#xff09;第四篇 …...

函数、指针和数组的相互运用(C语言)

1、函数指针数组 含义&#xff1a;数组的每个元素都是函数指针类型.eg&#xff1a; &#xff08;此代码链接&#xff1a;http://t.csdnimg.cn/ClJmb.也可以在我发布博客中找到&#xff09; 2、指向函数指针数组的指针 1、引入 3、回调函数 1、含义&#xff1a;就是一个通过…...

.Net Core/.Net 6/.Net 8,一个简易的消息队列

.Net Core/.Net 6/.Net 8,一个简易的消息队列 身份验证接口身份验证接口实现program.cs通过api调用 做着玩的&#xff0c; 只实现了消息入队出队功能&#xff0c;没有持久化&#xff0c;也没有其它任何高级功能 直接上代码 public class AMQBase//:ISingleton {/// <summary…...

OpenHarmony4.0分布式任务调度浅析

1 概述 OpenHarmony 分布式任务调度是一种基于分布式软总线、分布式数据管理、分布式 Profile 等技术特性的任务调度方式。它通过构建一种统一的分布式服务管理机制&#xff0c;包括服务发现、同步、注册和调用等环节&#xff0c;实现了对跨设备的应用进行远程启动、远程调用、…...

element-ui backtop 组件源码分享

今日简单分享 backtop 组件的源码实现&#xff0c;从以下三个方面&#xff1a; 1、backtop 组件页面结构 2、backtop 组件属性 3、backtop 组件事件 一、backtop 组件页面结构 二、backtop 组件属性 2.1 target 属性&#xff0c;触发滚动的对象&#xff0c;类型 string&am…...

MongoDB快照(LVM)业务场景应用实战

MongoDB和LVM快照概述 MongoDB的重要性&#xff1a;MongoDB支持的灵活的文档模型&#xff0c;使其成为处理大量分散数据的理想选择&#xff0c;特别是在需要快速迭代和频繁更改数据结构的应用中。 LVM&#xff08;逻辑卷管理&#xff09;快照技术基本概念&#xff1a;LVM允许…...

3D开发工具HOOPS:推动汽车行业CAD可视化发展

在最近的行业对话中&#xff0c;Tech Soft 3D&#xff08;HOOPS厂商&#xff09;的Jonathan Girroir和Actify的Peter West探讨了CAD可视化在当代企业中的重要性和挑战。作为CAD可视化领域的佼佼者&#xff0c;Actify通过其广受欢迎的Spinfire应用&#xff0c;赋能了全球40多个国…...

Centos安装MySQL提示公钥尚未安装

一、问题 在Centos7.9使用yum安装MySQL时出现错误&#xff0c;提示&#xff1a;mysql-community-server-5.7.44-1.el7.x86_64.rpm 的公钥尚未安装&#xff0c;如下图所示&#xff1a; 执行命令&#xff1a;systemctl start mysqld也提示错误&#xff1a;Failed to start mysq…...

FebHost:英国.UK域名简介

.UK域名是互联网上最广为人知且广泛使用的国家代码顶级域名之一。作为英国官方的国家代码&#xff0c;自诞生之日起&#xff0c;.UK域名对英国本土个人、企业及在线品牌建设扮演了关键角色。 .UK域名于1985年首次推出&#xff0c;这是早期为创建有序域名系统而努力的一部分。当…...

SQL Serve---查询

概要 1、order by子句 —默认asc&#xff08;升序&#xff09;、desc&#xff08;降序&#xff09; 2、distinct关键字 3、group by子句 4、聚合函数 —max()、min()、sum()、avg()、count() 5、having子句 6、compute子句 英文关键字 order by 排序 asc…...

RabbitMQ3.13.x之十一_RabbitMQ中修改用户密码及角色tags

RabbitMQ3.13.x之十一_RabbitMQ中修改用户密码及角色tgs 文章目录 RabbitMQ3.13.x之十一_RabbitMQ中修改用户密码及角色tgs1. 修改用户的密码1. 修改密码语法2. 修改案例 2.修改角色tags1. 修改标签(tags)语法2. 修改案例 可以使用 RabbitMQ 的命令行工具 rabbitmqctl 来修改用…...

Taro打包生成不同目录

使用taro init创建taro项目时&#xff0c;taro默认打包目录是&#xff1a; /config/index.js outputRoot:dist默认的目录&#xff0c;编译不同平台代码时就会覆盖掉&#xff0c;为了达到多端同步调试的目的&#xff0c;这时需要修改默认生成目录了&#xff0c;通过查看官方文…...

2024-04-08 NO.5 Quest3 手势追踪进行 UI 交互

文章目录 1 玩家配置2 物体配置3 添加视觉效果4 添加文字5 其他操作5.1 双面渲染5.2 替换图片 ​ 在开始操作前&#xff0c;我们导入先前配置好的预制体 MyOVRCameraRig&#xff0c;相关介绍在 《2024-04-03 NO.4 Quest3 手势追踪抓取物体-CSDN博客》 文章中。 1 玩家配置 &a…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...