[图解]六边形架构算DDD伪创新吗

0
00:00:01,170 --> 00:00:05,450
今天我们来说一个六边形架构的问题

1
00:00:06,350 --> 00:00:09,943
这是来自于几年以前的一个答疑

2
00:00:09,943 --> 00:00:11,740
有个同学问我

3
00:00:12,020 --> 00:00:13,136
潘老师

4
00:00:13,136 --> 00:00:15,050
你老说这个伪创新,伪创新

5
00:00:15,330 --> 00:00:17,840
六边形架构算不算伪创新

6
00:00:20,490 --> 00:00:22,435
这个我写过文章

7
00:00:22,435 --> 00:00:27,190
这个视频就是文章的视频化

0
00:00:01,900 --> 00:00:03,483
六边形架构

1
00:00:03,483 --> 00:00:06,650
英文就是hexagonal architecture

2
00:00:07,800 --> 00:00:08,840


3
00:00:09,480 --> 00:00:12,490
这个是维基百科上的

4
00:00:12,770 --> 00:00:13,711
定义

5
00:00:13,711 --> 00:00:15,279
你看,它说了

6
00:00:15,279 --> 00:00:18,730
起源,是由Cockburn发明的

7
00:00:19,340 --> 00:00:20,060


8
00:00:20,340 --> 00:00:23,700
发布于2005年

9
00:00:24,370 --> 00:00:24,594


10
00:00:24,594 --> 00:00:28,410
实际上,维基百科上这个信息是不对的

11
00:00:29,090 --> 00:00:29,990
因为

12
00:00:31,160 --> 00:00:32,450
你看这个

13
00:00:33,110 --> 00:00:34,770
2003年

14
00:00:36,960 --> 00:00:37,392
Martin Fowler

15
00:00:37,392 --> 00:00:40,420
的企业应用架构模式上面

16
00:00:40,750 --> 00:00:42,180
他就已经提到了

17
00:00:42,640 --> 00:00:42,888


18
00:00:42,888 --> 00:00:43,880
Cockburn的这个

19
00:00:45,320 --> 00:00:45,816
对不对

20
00:00:45,816 --> 00:00:48,630
显然2005年这个就已经

21
00:00:48,910 --> 00:00:49,900
有问题了

22
00:00:52,490 --> 00:00:54,320
但是Cockburn是

23
00:00:54,790 --> 00:00:56,480
最早提这个的吗

24
00:00:56,850 --> 00:00:57,091


25
00:00:57,091 --> 00:00:59,020
其实好像也不是

26
00:01:01,180 --> 00:01:02,520
1999年

27
00:01:03,660 --> 00:01:05,600
这本书,你看这个

28
00:01:05,880 --> 00:01:07,895
提到适配器的应用

29
00:01:07,895 --> 00:01:10,918
你看,适配器,我就翻译这一段

30
00:01:10,918 --> 00:01:12,329
这是它配的图

31
00:01:12,329 --> 00:01:13,740
你看,跟我们这个

32
00:01:15,510 --> 00:01:17,030
这个

33
00:01:18,280 --> 00:01:19,680
是不是相像的

34
00:01:19,960 --> 00:01:20,180


35
00:01:20,180 --> 00:01:22,168
背后的道理也是一样

36
00:01:22,168 --> 00:01:22,610
你看

37
00:01:22,960 --> 00:01:26,431
通过建造适配器……

38
00:01:26,431 --> 00:01:27,010
你看

39
00:01:27,580 --> 00:01:30,300
对象引用和消息转换为

40
00:01:31,920 --> 00:01:33,480
为或者自

41
00:01:33,760 --> 00:01:35,250
二进制数据

42
00:01:36,760 --> 00:01:40,710
或者像素,这个实际上就是什么

43
00:01:40,990 --> 00:01:41,201


44
00:01:41,201 --> 00:01:43,320
就是相当于

45
00:01:43,600 --> 00:01:44,698
跟数据库

46
00:01:44,698 --> 00:01:47,775
跟其他的网络传输的转化

47
00:01:47,775 --> 00:01:48,435
对不对

48
00:01:48,435 --> 00:01:52,830
这个是跟什么,像素,就是显示在屏幕上

49
00:01:52,830 --> 00:01:53,710
这是什么

50
00:01:54,100 --> 00:01:54,370


51
00:01:54,370 --> 00:01:57,884
接收外面的人的输入

52
00:01:57,884 --> 00:01:58,695
对不对

53
00:01:58,695 --> 00:02:01,399
相当于我们的人机的界面

54
00:02:01,399 --> 00:02:02,210
对吧

55
00:02:03,200 --> 00:02:05,095
那不就是跟那个一样吗

56
00:02:05,095 --> 00:02:05,664
对不对

57
00:02:05,664 --> 00:02:07,370
也就是说,把我们那个

58
00:02:08,380 --> 00:02:09,370
对象

59
00:02:09,900 --> 00:02:12,480
核心域的部分放在中间

60
00:02:12,760 --> 00:02:15,180
然后其他的,你不管是

61
00:02:15,460 --> 00:02:19,090
网络传输,还是持久存储

62
00:02:19,370 --> 00:02:21,740
还是界面的

63
00:02:22,650 --> 00:02:23,820
展示

64
00:02:24,380 --> 00:02:24,598


65
00:02:24,598 --> 00:02:26,348
都是平等看待的

66
00:02:26,348 --> 00:02:27,880
把它看作是什么

67
00:02:28,160 --> 00:02:29,780
围绕在它旁边的

68
00:02:32,050 --> 00:02:33,950
思想是一样的

69
00:02:34,650 --> 00:02:37,003
当然我们不能说Cockburn这个

70
00:02:37,003 --> 00:02:38,714
就是伪创新

71
00:02:38,714 --> 00:02:39,570
首先这个

72
00:02:40,150 --> 00:02:41,630
模式本身它

73
00:02:42,570 --> 00:02:45,828
并没有错,并没有说不好什么之类的

74
00:02:45,828 --> 00:02:49,086
不像我们之前批评一些伪创新是倒退

75
00:02:49,086 --> 00:02:50,715
至少它没有倒退

76
00:02:50,715 --> 00:02:51,620
第二个的话

77
00:02:53,280 --> 00:02:56,340
我目前也没有更多证据

78
00:02:56,620 --> 00:02:58,140
说这个

79
00:02:58,580 --> 00:03:04,060
六边形这个,跟这个的话,到底有没有创新

80
00:03:04,950 --> 00:03:06,862
我觉得应该谈不上

81
00:03:06,862 --> 00:03:07,500
但是呢

82
00:03:07,890 --> 00:03:09,903
我们要了解这个事实

83
00:03:09,903 --> 00:03:11,470
这些并不是Cockburn

84
00:03:11,770 --> 00:03:12,890
发明的

85
00:03:13,900 --> 00:03:16,200
而是早就有了的

86
00:03:21,740 --> 00:03:23,780
那为什么

87
00:03:24,400 --> 00:03:25,450
Fowler

88
00:03:25,940 --> 00:03:26,398
等等

89
00:03:26,398 --> 00:03:28,230
他只提到了Cockburn呢

90
00:03:28,830 --> 00:03:29,031


91
00:03:29,031 --> 00:03:31,850
那就是我们下面

92
00:03:32,350 --> 00:03:33,780
我要说的一个

93
00:03:34,850 --> 00:03:35,812
大问题了

94
00:03:35,812 --> 00:03:37,930
我们要警惕的一个大问题

95
00:03:38,580 --> 00:03:40,480
这个我出过一道题

96
00:03:40,760 --> 00:03:42,990
说伪创新的一些手段

97
00:03:45,260 --> 00:03:48,720
这里,它往往会形成一个封闭的圈子

98
00:03:49,070 --> 00:03:51,810
避免提及圈子外的贡献

99
00:03:53,610 --> 00:03:55,090
如果避不开

100
00:03:58,550 --> 00:03:58,814


101
00:03:58,814 --> 00:03:59,873
他怎么做

102
00:03:59,873 --> 00:04:01,990
其中一种做法就是

103
00:04:02,880 --> 00:04:07,890
由圈子里面的某某,模仿这个“创新”出一个新的

104
00:04:08,310 --> 00:04:12,162
然后圈子里面的人只引用这个新的

105
00:04:12,162 --> 00:04:13,190
比如说

106
00:04:14,020 --> 00:04:15,820
假设我要做一个

107
00:04:16,350 --> 00:04:18,560
六边形架构这样的东西

108
00:04:18,940 --> 00:04:20,768
实际上已经有人提过了

109
00:04:20,768 --> 00:04:23,512
但是呢,他不是我们这个圈子里面的

110
00:04:23,512 --> 00:04:24,243
怎么办呢

111
00:04:24,243 --> 00:04:24,426


112
00:04:24,426 --> 00:04:25,706
我就模仿他这个

113
00:04:25,706 --> 00:04:27,170
我把他换一个名字

114
00:04:28,250 --> 00:04:30,860
改名,比如说我叫9527

115
00:04:31,140 --> 00:04:31,960
架构

116
00:04:32,240 --> 00:04:32,930


117
00:04:33,760 --> 00:04:36,280
或者9527模式,都可以

118
00:04:36,810 --> 00:04:38,740
666模式也行

119
00:04:39,020 --> 00:04:39,850
然后呢

120
00:04:40,540 --> 00:04:44,330
我们这个圈子里面只引用666模式

121
00:04:45,220 --> 00:04:47,150
都只说666模式

122
00:04:47,700 --> 00:04:48,085


123
00:04:48,085 --> 00:04:49,240
就当作

124
00:04:50,470 --> 00:04:56,230
之前的那些是不存在的,这个也是我之前批评过很多次的

125
00:04:56,890 --> 00:04:58,760
伪创新的圈子

126
00:05:00,910 --> 00:05:02,000
并不是说

127
00:05:02,470 --> 00:05:04,293
它里面全部是错的

128
00:05:04,293 --> 00:05:05,205
而是什么

129
00:05:05,205 --> 00:05:07,484
他很多是抄袭过来之后

130
00:05:07,484 --> 00:05:07,940
他又

131
00:05:09,020 --> 00:05:09,250

132
00:05:09,250 --> 00:05:10,634
之前视而不见

133
00:05:10,634 --> 00:05:13,401
圈子里面的引用是封闭的

134
00:05:13,401 --> 00:05:13,632


135
00:05:13,632 --> 00:05:16,399
我之前也批评过Evans

136
00:05:16,399 --> 00:05:18,935
引用的文献等等

137
00:05:18,935 --> 00:05:20,550
基本上都是什么

138
00:05:20,830 --> 00:05:22,890
在这个圈子里面引用的

139
00:05:23,170 --> 00:05:25,480
但很多都不是他们发明的

140
00:05:25,980 --> 00:05:26,900
但是他

141
00:05:27,710 --> 00:05:29,925
有意无意地就把这个引用

142
00:05:29,925 --> 00:05:32,140
把它局限在这个圈子里面

143
00:05:33,440 --> 00:05:35,470
即使像Fowler这样的

144
00:05:35,810 --> 00:05:38,080
相对来说还比较严谨的人

145
00:05:39,630 --> 00:05:41,450
也免不了出这个问题

  • 19
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值