[图解]分析模式-01-概述1

news2025/1/19 3:41:31

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
针对特定领域的模式

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1920068.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

客户反馈的智能分析:Kompas.ai如何转化用户声音为行动

客户反馈是企业改进产品和服务、提升客户满意度的重要资源。在数字化时代,如何有效收集和分析客户反馈,将其转化为实际行动,成为企业面临的挑战。Kompas.ai,一款智能客户反馈分析工具,正帮助品牌实现这一目标。 客户反…

nginx 正常访问,刷新404

问题描述: 部署完成前端服务,浏览器正常访问没有问题,但是F5刷新的时候,会提示404,丢失了资源。 解决办法: 在nginx配置中增加如下代码: try_files $uri $uri/ /index.html;

【Linux】进程间通信——命名管道和共享内存

目录 命名管道(named pipe) 命令行中使用 代码中使用 共享内存(shared memory) shmget ipcs命令 shmctl shmat/shmdt 简单通信 命名管道(named pipe) 之前我们说了匿名管道,但是匿名管道…

9717 取数对弈

首先,我们需要初始化两个数组,一个用于存储输入的数列a[],另一个用于动态规划过程中存储中间结果的二维数组dp[][]。dp[i][j]表示从数列的第i个数到第j个数时,当前玩家(甲方先手)能够获得的最大得分。 接下…

2023 N1CTF-n1canary

文章目录 参考n1canary模板类和模板函数make_unique和unique_ptrstd::unique_ptr示例: std::make_unique示例: 结合使用示例 operator->getrandom逆向源码思路exp 参考 https://nese.team/posts/n1ctf2023/ n1canary 模板类和模板函数 template &…

从汇编层看64位程序运行——栈帧(Stack Frame)入门

在《从汇编层看64位程序运行——程序中的栈(Stack)结构及其产生的历史原因》一文中,我们讲解了X86体系架构下,程序的栈结构的特点。本文将介绍另外一个非常重要的结构——栈帧。 A stack frame, often just called a ‘frame,’ is a section of the sta…

大众汽车入职SHL在线测评、英语口语、招聘笔试如何通过、考点分析|备考建议

大众汽车入职在线测验真题考点分析,通过技巧? 大众汽车集团(中国)在招聘过程中,认知能力测试是评估候选人是否适合某个职位的重要环节。候选人会收到带有线上测评链接的邮件,测评包括胜任力潜力测试(Compe…

MySQL数字相关数据处理函数

目录 1. 随机数生成 rand ( ) 2. 四舍五入 round() 3. 舍去 truncate ( ) 4. 向上/下取整 5. 空处理 ifnull( x , y ) 1. 随机数生成 rand ( ) rand ( ) 生成 0 到 1 的随机数; rand ( x ) 生成 0 到 1 的随机数…

Unity之Text组件换行\n没有实现+动态中英互换

前因:文本中的换行 \n没有换行而是打印出来了,解决方式 因为unity会默认把\n替换成\\n 面板中使用富文本这个选项啊 没有用 m_text.text m_text.text.Replace("\\n", "\n"); ###动态中英文互译 using System.Collections; using…

Redis分布式锁-Redisson可重入锁原理的个人见解。

记录Redisson可重入锁的个人见解。 文章目录 前言一、什么叫做锁的重入?二、Redisson可重入锁原理 前言 ⁣⁣⁣⁣ ⁣⁣⁣⁣ 之前在写项目的时候,注意到Redisson可重入锁的一个问题,随即在网上搜索其对应的资料,下面就记录一下个…

nfs共享存储配置

目录 一.存储和NFS共享 1.存储的类型分为三种 2.三种存储架构的应用场景 二.NFS共享存储服务 1.NFS简介 2.NFS存储 3.NFS原理 4.软件介绍 三.搭建NFS服务器 1.搭建 2.使用权限: 读写权限 属主,属组权限 客户端创建文件指向同一属主和属组 …

昇思25天学习打卡营第23天|基于MindSpore通过GPT实现情感分类

1. 学习内容复盘 %%capture captured_output # 实验环境已经预装了mindspore2.2.14,如需更换mindspore版本,可更改下面mindspore的版本号 !pip uninstall mindspore -y !pip install -i https://pypi.mirrors.ustc.edu.cn/simple mindspore2.2.14 I…

Python骨架肌体运动学数学模型

🎯要点 🎯运动学矢量计算 | 🎯跳远的运动学计算 | 🎯关节肢体运动最小加加速度模型 | 🎯膝关节和踝关节角度二维运动学计算 | 🎯上下肢体关节连接运动链数学模型 | 🎯刚体连接点速度加速度计算…

Qt图形与图片(Qt位置相关函数、Qt基础图形的绘制、双缓冲机制、显示SVG格式图片)

此篇文章介绍几种主要位置函数及其之间的区别,以及各种与位置相关函数的使用场合;然后,通过一个简单绘图工具实例,介绍利用QPainter和QPainterPath两种方法绘制各种基础图形;最后,通过几个实例介绍如何利用…

【JVM】对象的生命周期一 | 对象的创建与存储

Java | 对象的生命周期1-对象的创建与存储 文章目录 前言对象的创建过程内存空间的分配方式方式1 | 指针碰撞方式2 | 空闲列表 线程安全问题 | 避免空间冲突的方式方式1 | 同步处理(加锁)方式2 | 本地线程分配缓存 对象的内存布局Part1 | 对象头Mark Word类型指针 P…

昇思25天学习打卡营第1天|初步了解

1在昇思平台上申请过相关资源之后,将示例代码粘贴到输入框内。可以在下图中创建一个新的文档。 2不过初次运行的时候会遇到一个问题,点击运行的时候会出现新的输入框,而不是直接运行。遇到此问题等待就可以了,或者稍微等一下再运…

linux系统判断网络物理连接状态

最近发现 /sys/class/net/ 似乎可以获取网口物理连接状态 于是乎在T113i主板上进行了测试。当前是双网口交换机芯片。如图所示: 具体的是 eth0和eth2是单网口,eth1是交换机芯片接的四个网口。 对于carrier 下面对单网口和交换机芯片的网口进行测试。命…

鸿蒙语言基础类库:【@ohos.util.Vector (线性容器Vector)】

线性容器Vector 说明: 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 Vect…

Perl语言简介

1.简介 Perl 是 Practical Extraction and Report Language 的缩写,可翻译为"实用报表提取语言"。   Perl 是高级、通用、直译式、动态的程序语言。   Perl 最初的设计者为拉里沃尔(Larry Wall),于1987年12月18日发…

python+pygame实现五子棋人机对战之三

上回讲过: pythonpygame实现五子棋人机对战之一 pythonpygame实现五子棋人机对战之二 界面已经有了,并且可以支持鼠标操作选择菜单和人机对战开始下棋了,那电脑是如何应手落子呢?以下内容是通用的类,全部放在utils.…