1
00:00:00,190 --> 00:00:09,650
那么1、2、5这个地方,这几个它都需要修改
2
00:00:09,660 --> 00:00:11,410
都要改成资金管理部
3
00:00:13,340 --> 00:00:15,020
那么违反第三范式
4
00:00:15,030 --> 00:00:19,650
是一个比较严重的问题
5
00:00:19,820 --> 00:00:21,530
因为我们平时犯的错误
6
00:00:22,080 --> 00:00:25,290
前面这两个犯的,实际上倒不是很多
7
00:00:25,380 --> 00:00:28,140
因为我们刚才也说了
8
00:00:29,250 --> 00:00:31,410
一些基本的这种分割还是有的
9
00:00:31,730 --> 00:00:35,250
但往往容易犯的是这个,第三范式
10
00:00:35,260 --> 00:00:38,410
就是我们找类的时候
11
00:00:38,420 --> 00:00:43,080
我们说什么的什么的什么
12
00:00:44,480 --> 00:00:47,440
有时候我们并不是很注意的
13
00:00:49,570 --> 00:00:55,200
所以第三范式这个是比较值得重视的
14
00:00:55,490 --> 00:00:57,360
我们经常要注意一下
1
00:00:01,180 --> 00:00:03,610
比如说我们在书里面
2
00:00:04,870 --> 00:00:06,070
软件方法第8章里面
3
00:00:06,080 --> 00:00:08,790
也给过一个图
4
00:00:09,260 --> 00:00:10,890
还有写文章批评
5
00:00:12,610 --> 00:00:13,720
实现领域驱动设计
6
00:00:13,730 --> 00:00:16,000
的翻译错误的时候也说了
7
00:00:16,010 --> 00:00:18,180
包括领域驱动设计里面
8
00:00:19,660 --> 00:00:20,540
Eric Evans
9
00:00:20,550 --> 00:00:21,820
用词用得不对
10
00:00:21,950 --> 00:00:23,710
他老是用关联
11
00:00:24,000 --> 00:00:27,490
词用错了,应该相关才对
12
00:00:27,740 --> 00:00:29,930
具体可以看我写的文章
13
00:00:31,440 --> 00:00:34,620
这里面,你看,人,手眼心肝
14
00:00:34,630 --> 00:00:40,560
你看,这个人跟手眼心肝
15
00:00:40,570 --> 00:00:42,910
这个是组合
16
00:00:45,250 --> 00:00:46,040
这个没问题
17
00:00:47,870 --> 00:00:49,140
手眼心肝
18
00:00:49,600 --> 00:00:51,830
除了跟人发生关联之外
19
00:00:51,840 --> 00:00:54,190
它不能互相再关联,不能这样
20
00:00:54,860 --> 00:00:55,860
再连过来
21
00:00:55,870 --> 00:00:57,420
如果再连过来就变成什么
22
00:00:57,430 --> 00:00:59,350
人决定手
23
00:00:59,360 --> 00:01:02,390
手又可以到眼
24
00:01:02,950 --> 00:01:08,730
那不就是刚才讲的传递依赖
25
00:01:08,740 --> 00:01:10,850
但是我们很多时候并不了解
26
00:01:12,080 --> 00:01:14,400
它们应该是一个树状的这样过来
27
00:01:16,030 --> 00:01:18,350
如果说它们有关系的话应该是什么
28
00:01:19,720 --> 00:01:24,440
首先在静态的时候
29
00:01:26,480 --> 00:01:30,380
它们只能跟人相关联
30
00:01:30,390 --> 00:01:33,180
而且它们之间互相实际上是并不知道的
31
00:01:33,790 --> 00:01:36,380
也就是说手眼心肝
32
00:01:36,710 --> 00:01:38,270
并不知道对方的存在
33
00:01:38,990 --> 00:01:40,970
它只是作为人的一个零件
34
00:01:41,870 --> 00:01:45,660
然后需要协作的时候是由人来协作的
35
00:01:48,060 --> 00:01:51,570
它们互相之间不能互相知道
36
00:01:51,580 --> 00:01:52,810
不应该互相知道自己
37
00:01:53,710 --> 00:01:54,540
这才对的
38
00:01:54,550 --> 00:01:57,180
当然我们人体没那么简单
39
00:01:57,470 --> 00:01:59,140
我们也没有人这样一个对象
40
00:01:59,150 --> 00:02:01,180
这是完全面向对象的想象
41
00:02:01,750 --> 00:02:05,900
我们人体确实是手眼心肝
42
00:02:05,910 --> 00:02:07,900
可能是互相要什么连起来的
43
00:02:09,820 --> 00:02:11,610
要一段接一段这样连起来
44
00:02:12,940 --> 00:02:14,100
那么这个的话
45
00:02:15,390 --> 00:02:18,520
当然它们有大脑的协调
46
00:02:19,210 --> 00:02:20,200
有大脑的协调
47
00:02:20,210 --> 00:02:23,040
然后互相之间确实还是有调用的
48
00:02:23,620 --> 00:02:26,270
但是我们软件开发的话
49
00:02:26,280 --> 00:02:30,550
我们尽可能以比较简明的方式
50
00:02:30,560 --> 00:02:35,710
来协作,人体这样协作的话
51
00:02:36,330 --> 00:02:39,620
它们之间关系错综复杂的话
52
00:02:39,950 --> 00:02:43,170
可能它背后有一些其他的
53
00:02:43,620 --> 00:02:45,990
不知道造人的工程师(注:见电影《异形》序列)
54
00:02:46,000 --> 00:02:47,430
怎么想这个问题
55
00:02:49,260 --> 00:02:51,740
按道理我们如果是那种纯电路的话
56
00:02:51,750 --> 00:02:53,980
它往往会由总控这边
57
00:02:53,990 --> 00:02:57,240
然后发给各个大板块
58
00:02:57,250 --> 00:02:59,320
各板块再找下面小板块
59
00:03:00,350 --> 00:03:02,130
不能后面各个小板块
60
00:03:02,140 --> 00:03:07,300
有时候还有通路什么的
61
00:03:08,630 --> 00:03:09,370
这是不好的
62
00:03:09,380 --> 00:03:11,700
就像平时我们说的飞线
63
00:03:11,710 --> 00:03:15,430
如果你打开电脑看,有飞线的
64
00:03:16,430 --> 00:03:19,460
相当于从一个地方跳到另外一个地方
65
00:03:22,410 --> 00:03:22,920
说明什么
66
00:03:22,930 --> 00:03:24,440
之前的设计可能有问题
67
00:03:24,530 --> 00:03:26,320
划分有问题