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

hbase基础shell用法
HBase中用create命令创建表,具体如下: create student,Sname,Ssex,Sage,Sdept,course 此时,即创建了一个“student”表,属性有:Sname,Ssex,Sage,Sdept,course。因为HBase的表中会有一个系统默认的属性作为行键&#x…...
ElasticSearch 的 BoolQueryBuilder 使用
ElasticSearch的BoolQueryBuilder定义: 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处理
引言:网络数据能够正常到达用户并且被接收是进行网络传输的根本目的,网络传输的数据发送和接收有多种方案,本文章就对通过向量接收和发送等数据传输方式,并且对多种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再回首
概念: 连接:通过协议 方言及库存储的适配,连接数据和应用,关注多模数据苦之间的合作 增量:抓取库入口流量题提供重定向, 流量变形(加密脱敏)/鉴权/治理(熔断限流)/分析等 可插拔:微内核 DDL:cr…...

第七篇:3.6 其他评估考虑/4.审计指南/5. 通用报告规范/6.披露指南、参考标准及其他 - IAB/MRC及《增强现实广告效果测量指南1.0》
翻译计划 第一篇概述—IAB与MRC及《增强现实广告效果测量指南》之目录、适用范围及术语第二篇广告效果测量定义和其他矩阵之- 3.1 广告印象(AD Impression)第三篇广告效果测量定义和其他矩阵之- 3.2 可见性 (Viewability)第四篇 …...

函数、指针和数组的相互运用(C语言)
1、函数指针数组 含义:数组的每个元素都是函数指针类型.eg: (此代码链接:http://t.csdnimg.cn/ClJmb.也可以在我发布博客中找到) 2、指向函数指针数组的指针 1、引入 3、回调函数 1、含义:就是一个通过…...
.Net Core/.Net 6/.Net 8,一个简易的消息队列
.Net Core/.Net 6/.Net 8,一个简易的消息队列 身份验证接口身份验证接口实现program.cs通过api调用 做着玩的, 只实现了消息入队出队功能,没有持久化,也没有其它任何高级功能 直接上代码 public class AMQBase//:ISingleton {/// <summary…...

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

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

MongoDB快照(LVM)业务场景应用实战
MongoDB和LVM快照概述 MongoDB的重要性:MongoDB支持的灵活的文档模型,使其成为处理大量分散数据的理想选择,特别是在需要快速迭代和频繁更改数据结构的应用中。 LVM(逻辑卷管理)快照技术基本概念:LVM允许…...

3D开发工具HOOPS:推动汽车行业CAD可视化发展
在最近的行业对话中,Tech Soft 3D(HOOPS厂商)的Jonathan Girroir和Actify的Peter West探讨了CAD可视化在当代企业中的重要性和挑战。作为CAD可视化领域的佼佼者,Actify通过其广受欢迎的Spinfire应用,赋能了全球40多个国…...

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

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

SQL Serve---查询
概要 1、order by子句 —默认asc(升序)、desc(降序) 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项目时,taro默认打包目录是: /config/index.js outputRoot:dist默认的目录,编译不同平台代码时就会覆盖掉,为了达到多端同步调试的目的,这时需要修改默认生成目录了,通过查看官方文…...

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

网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...

C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...

FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
go 里面的指针
指针 在 Go 中,指针(pointer)是一个变量的内存地址,就像 C 语言那样: a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10,通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...

Windows电脑能装鸿蒙吗_Windows电脑体验鸿蒙电脑操作系统教程
鸿蒙电脑版操作系统来了,很多小伙伴想体验鸿蒙电脑版操作系统,可惜,鸿蒙系统并不支持你正在使用的传统的电脑来安装。不过可以通过可以使用华为官方提供的虚拟机,来体验大家心心念念的鸿蒙系统啦!注意:虚拟…...

JDK 17 序列化是怎么回事
如何序列化?其实很简单,就是根据每个类型,用工厂类调用。逐个完成。 没什么漂亮的代码,只有有效、稳定的代码。 代码中调用toJson toJson 代码 mapper.writeValueAsString ObjectMapper DefaultSerializerProvider 一堆实…...

pgsql:还原数据库后出现重复序列导致“more than one owned sequence found“报错问题的解决
问题: pgsql数据库通过备份数据库文件进行还原时,如果表中有自增序列,还原后可能会出现重复的序列,此时若向表中插入新行时会出现“more than one owned sequence found”的报错提示。 点击菜单“其它”-》“序列”,…...