




 1
1
 00:00:01,380 --> 00:00:01,770
 好
2
 00:00:02,340 --> 00:00:06,440
 非常感谢大家能够来上我们
3
 00:00:06,450 --> 00:00:07,960
 分析模式高阶+的课程
4
 00:00:09,310 --> 00:00:13,440
 这个内容之前在分析设计高阶
5
 00:00:13,450 --> 00:00:17,840
 也就是剔除伪创新的领域驱动设计课
6
 00:00:18,320 --> 00:00:21,870
 里面也有这么一个幻灯片,一节
7
 00:00:23,010 --> 00:00:24,530
 但是没有详细讲
8
 00:00:24,620 --> 00:00:29,440
 第二个,那个内容相对来说还比较粗糙
9
 00:00:30,690 --> 00:00:35,350
 我们这个课程针对这个内容
10
 00:00:35,680 --> 00:00:38,670
 进一步的细化和强化
11
 00:00:43,270 --> 00:00:46,290
 首先,我们先说一下模式
12
 00:00:47,270 --> 00:00:53,610
 它不只是我们平时知道的设计模式
13
 00:00:53,900 --> 00:00:56,010
 GoF23种设计模式
14
 00:00:57,390 --> 00:00:59,830
 但是有很多这种误解
15
 00:01:00,040 --> 00:01:03,480
 因为我们平时
16
 00:01:03,970 --> 00:01:07,690
 很多开发人员他见得不是很多
17
 00:01:08,250 --> 00:01:09,370
 了解的不是很多
18
 00:01:09,500 --> 00:01:14,310
 他往往就会认为模式就是设计模式
19
 00:01:14,320 --> 00:01:16,950
 而设计模式就是
20
 00:01:16,960 --> 00:01:21,090
 《设计模式》那本书上列的23种
21
 00:01:22,480 --> 00:01:26,230
 所以,像我就偶尔会接到一些这种请求
22
 00:01:26,650 --> 00:01:29,700
 潘老师,来给我们讲设计模式
23
 00:01:31,520 --> 00:01:35,000
 我说设计模式不用讲,讲设计可以
24
 00:01:35,010 --> 00:01:36,650
 讲设计模式没有必要了
25
 00:01:37,210 --> 00:01:39,190
 然后他说
26
 00:01:39,200 --> 00:01:41,830
 设计不就是学那23种模式吗,把它们学会了
27
 00:01:41,920 --> 00:01:42,950
 不就是会设计了
28
 00:01:43,870 --> 00:01:44,620
 不是这样的
29
 00:01:46,120 --> 00:01:47,320
 首先,《设计模式》这本书
30
 00:01:47,330 --> 00:01:51,000
 跟设计模式
31
 00:01:51,010 --> 00:01:53,270
 本身是不同的概念
32
 00:01:55,710 --> 00:02:01,320
 《设计模式》这本书,它不是最有用的
33
 00:02:01,720 --> 00:02:03,030
 也不是最本质的
34
 00:02:04,480 --> 00:02:12,830
 只不过它是比较早变成了一本书出版
35
 00:02:12,840 --> 00:02:16,090
 也就是说,这23种模式
36
 00:02:16,440 --> 00:02:19,390
 它既非最有用,也非最本质
37
 00:02:20,930 --> 00:02:23,130
 只不过它最出名,为什么出名
38
 00:02:23,420 --> 00:02:27,870
 因为它比较早归纳在书里面
39
 00:02:28,440 --> 00:02:29,560
 然后这个书出版了
40
 00:02:30,700 --> 00:02:34,170
 然后得到了大力的宣传,最有名
41
 00:02:34,890 --> 00:02:37,030
 只能说这23种最有名
42
 00:02:38,290 --> 00:02:40,090
 它不是最有用,也不是最本质
43
 00:02:41,400 --> 00:02:42,430
 而且也不是最早的
44
 00:02:42,560 --> 00:02:43,910
 还有比它更早的
45
 00:02:47,560 --> 00:02:48,970
 所以首先要了解这一点
46
 00:02:51,170 --> 00:02:53,210
 模式不是设计模式
47
 00:02:53,510 --> 00:02:56,310
 而设计模式也不是那本书
48
 00:02:58,410 --> 00:02:59,640
 一个是加书名号
49
 00:02:59,650 --> 00:03:00,940
 一个不加书名号的
50
 00:03:03,740 --> 00:03:06,970
 那么那本书,GoF那本书
51
 00:03:07,530 --> 00:03:11,260
 可以看作是一本象棋的棋谱一样
52
 00:03:11,990 --> 00:03:13,220
 定式汇编一样
53
 00:03:14,010 --> 00:03:17,510
 它是比较早的一本象棋定式汇编
54
 00:03:19,400 --> 00:03:20,590
 类似于《橘中秘》
55
 00:03:23,300 --> 00:03:24,610
 但是它又不是最早的
56
 00:03:24,740 --> 00:03:26,630
 因为还有比它更早的
57
 00:03:27,380 --> 00:03:29,260
 但为什么很多人说
58
 00:03:29,270 --> 00:03:30,420
 象棋在古代什么的
59
 00:03:30,430 --> 00:03:31,550
 就说橘中秘
60
 00:03:31,990 --> 00:03:33,680
 因为它更有名
61
 00:03:37,060 --> 00:03:40,670
 但是我们现代的人要学习象棋
62
 00:03:42,480 --> 00:03:43,160
 应该怎么做
63
 00:03:44,120 --> 00:03:45,640
 还是从这个开始学吗
64
 00:03:46,490 --> 00:03:47,600
 不用的,连这个都不用了
65
 00:03:47,690 --> 00:03:50,290
 我们学现代的布局
66
 00:03:50,590 --> 00:03:52,990
 中局、残局的理论
67
 00:03:53,810 --> 00:03:56,200
 而且现在都有AI训练
68
 00:03:57,190 --> 00:04:00,540
 像最近10年著名(最强)的王天一
69
 00:04:01,150 --> 00:04:03,100
 是自己AI练出来的
70
 00:04:03,230 --> 00:04:05,260
 根本不是师傅教出来的
71
 00:04:05,780 --> 00:04:07,780
 通过AI练出来的
72
 00:04:13,060 --> 00:04:15,930
 这样来理解设计模式这本书
73
 00:04:20,560 --> 00:04:23,750
 所以我们可以从软件
74
 00:04:24,090 --> 00:04:26,070
 开发的工作流ABCD
75
 00:04:27,240 --> 00:04:29,160
 来对我们的模式
76
 00:04:29,170 --> 00:04:30,200
 做一个归纳
77
 00:04:30,490 --> 00:04:33,250
 我们就用ABCD给它归类
78
 00:04:34,790 --> 00:04:36,470
 就可以归类
79
 00:04:36,480 --> 00:04:37,870
 业务建模的模式
80
 00:04:37,880 --> 00:04:38,950
 需求模式
81
 00:04:39,290 --> 00:04:41,430
 分析模式、设计模式,这样来归类
82
 00:04:44,010 --> 00:04:46,230
 业务建模和需求的模式
83
 00:04:47,740 --> 00:04:49,220
 归纳的是比较少的
84
 00:04:50,990 --> 00:04:52,660
 书有这么一些书
85
 00:04:52,830 --> 00:04:55,730
 比如说,这本书有中译本
86
 00:04:58,510 --> 00:05:01,080
 还有这个,带有工作流模式什么之类的
87
 00:05:01,090 --> 00:05:02,400
 往往都会说的
88
 00:05:03,300 --> 00:05:06,090
 所谓的工作流,说的就是业务流程
89
 00:05:07,580 --> 00:05:10,830
 还有需求模式等等
90
 00:05:14,120 --> 00:05:18,480
 但是这些说的往往
91
 00:05:18,650 --> 00:05:22,110
 是一些
92
 00:05:22,430 --> 00:05:23,600
 业务建模
93
 00:05:23,610 --> 00:05:27,460
 需求建模里面的一些这种
94
 00:05:28,640 --> 00:05:30,800
 归纳的、通用的一些模式
95
 00:05:31,450 --> 00:05:32,720
 它并没有针对某个领域
96
 00:05:32,730 --> 00:05:36,890
 比如说物流领域的
97
 00:05:37,200 --> 00:05:41,360
 业务流程的模式归纳
98
 00:05:41,810 --> 00:05:44,970
 这种资料是更少的
99
 00:05:49,080 --> 00:05:53,200
 分析模式针,就是对某个领域来归纳的了
100
 00:05:55,940 --> 00:05:59,720
 那么当然里面也会涉及到一些
101
 00:05:59,730 --> 00:06:01,480
 面向对象分析的时候
102
 00:06:01,490 --> 00:06:03,170
 常用的一些技巧
103
 00:06:03,560 --> 00:06:05,500
 也可以说是模式
104
 00:06:05,510 --> 00:06:07,420
 但是分析模式更多是说什么
105
 00:06:07,430 --> 00:06:08,610
 针对某个领域的
106
 00:06:09,470 --> 00:06:12,810
 除了这些面向对象分析的时候的
107
 00:06:12,820 --> 00:06:15,040
 这种技巧之外
108
 00:06:15,970 --> 00:06:23,650
 针对具体某个领域的,财务、交易、人员等等
109
 00:06:25,970 --> 00:06:28,640
 这里也要注意的,分析模式
110
 00:06:28,650 --> 00:06:30,460
 跟Martin Fowler
111
 00:06:30,470 --> 00:06:31,580
 写的《分析模式》
112
 00:06:31,590 --> 00:06:32,300
 这本书
113
 00:06:32,830 --> 00:06:34,260
 它又不是同一个概念
114
 00:06:34,350 --> 00:06:35,820
 跟刚才设计模式
115
 00:06:35,830 --> 00:06:39,500
 不等于《设计模式》这本书一样的
116
 00:06:40,540 --> 00:06:43,200
 Martin Fowler写了一本《分析模式》这样的书
117
 00:06:44,430 --> 00:06:45,620
 起名叫《分析模式》
118
 00:06:45,630 --> 00:06:48,490
 而且也被宣传得很有名
119
 00:06:49,830 --> 00:06:51,540
 同样的,这本书也不是最早的
120
 00:06:52,640 --> 00:06:54,770
 里面的模式实际上也不是最本质的
121
 00:06:55,130 --> 00:06:56,080
 也不是最有用的
122
 00:06:56,090 --> 00:06:59,070
 只不过是被宣传得最有名而已
123
 00:07:02,780 --> 00:07:04,300
 所以我们说分析模式指的是
124
 00:07:04,310 --> 00:07:10,120
 针对特定领域的这种类
125
 00:07:10,940 --> 00:07:12,130
 或者类型也可以
126
 00:07:12,300 --> 00:07:14,530
 反正就是概念
127
 00:07:14,540 --> 00:07:16,170
 以及概念之间的关系的
128
 00:07:17,530 --> 00:07:20,010
 我们说分析说的是概念和概念之间的关系
129
 00:07:20,100 --> 00:07:22,910
 你可以用面向对象的方式来描述
130
 00:07:23,300 --> 00:07:26,930
 也可以用实体-关系这种方式来描述
131
 00:07:31,670 --> 00:07:33,500
 比如说,比Fowler更早的
132
 00:07:33,630 --> 00:07:35,540
 有数据模型的模式
133
 00:07:35,860 --> 00:07:37,250
 就比它更早一点
134
 00:07:39,270 --> 00:07:40,270
 还有安全的模式
135
 00:07:40,560 --> 00:07:44,900
 这有中译本,这个没有,这个有中译本,彩色建模
136
 00:07:44,910 --> 00:07:46,260
 这里面也列了很多
137
 00:07:47,650 --> 00:07:49,090
 很多个领域的模式
138
 00:07:53,390 --> 00:07:57,130
 设计模式,就是针对具体的平台实现
139
 00:07:57,140 --> 00:08:01,620
 和编程语言的模式了
140
 00:08:04,720 --> 00:08:09,850
 所以,GoF《设计模式》那本书
141
 00:08:10,390 --> 00:08:12,480
 按照我们ABCD的分类
142
 00:08:13,320 --> 00:08:16,040
 虽然那本书的名字叫《设计模式》
143
 00:08:16,480 --> 00:08:18,110
 但是有一些模式
144
 00:08:18,120 --> 00:08:22,760
 它很可能就不算是设计工作流的模式
145
 00:08:23,540 --> 00:08:25,220
 比如说组合模式等等
146
 00:08:26,260 --> 00:08:29,160
 更多可能是用在分析上面
147
 00:08:31,960 --> 00:08:33,950
 设计模式应该是在实现的时候
148
 00:08:34,940 --> 00:08:36,910
 考虑面向对象的实现的时候
149
 00:08:37,510 --> 00:08:40,180
 要考虑的一些模式
150
 00:08:43,120 --> 00:08:44,220
 我们按照这样来分
151
 00:08:46,780 --> 00:08:50,250
 我们这个课程讲的,实际上就是分析模式了
152
 00:08:50,380 --> 00:08:52,480
 针对特定领域的模式



















