1
00:00:00,930 --> 00:00:04,970
当然Odell这个比较简单
2
00:00:05,700 --> 00:00:12,990
那么98年Ralph Johnson,他又进一步发展了
3
00:00:13,000 --> 00:00:14,150
这里面也提到了
4
00:00:14,160 --> 00:00:16,380
借鉴了刚才说的
5
00:00:16,790 --> 00:00:21,610
强力类型、Peter Coad等等
6
00:00:22,550 --> 00:00:26,050
然后他又发展出一个类别(口误:类型)对象模式
7
00:00:26,630 --> 00:00:27,070
8
00:00:32,010 --> 00:00:36,670
2006年PLoPD这套书里面第五卷
9
00:00:36,880 --> 00:00:39,750
那么Ralph Johnson这里
10
00:00:40,040 --> 00:00:43,620
又把它叫做动态对象模型
11
00:00:44,590 --> 00:00:47,460
背后的意思是差不多的
12
00:00:51,590 --> 00:00:53,480
大家感兴趣就可以找出来
13
00:00:53,800 --> 00:00:56,330
看它里面说
14
00:00:56,340 --> 00:01:00,010
怎样用这种类、类类型的方式
15
00:01:00,020 --> 00:01:04,210
来取代之前的泛化关系
16
00:01:04,220 --> 00:01:08,930
然后转换之后怎么处理
17
00:01:10,370 --> 00:01:16,000
我们在课上我们就直接用就行了
18
00:01:17,190 --> 00:01:21,380
我们直接用在我们的各个模式上面
19
00:01:21,590 --> 00:01:24,170
我们就不一一的来说
20
00:01:24,180 --> 00:01:25,210
这个文章
21
00:01:25,460 --> 00:01:27,090
或者是资料里面内容了
22
00:01:31,860 --> 00:01:34,610
把这个用在刚才讲的通讯录上面
23
00:01:35,310 --> 00:01:36,880
原来是泛化结构
24
00:01:37,330 --> 00:01:38,550
现在又变成这个了
25
00:01:38,870 --> 00:01:43,110
关联,人员,联系方式,联系方式类型
26
00:01:45,590 --> 00:01:49,410
这样来,泛化结构
27
00:01:49,420 --> 00:01:51,410
就变成了
28
00:01:51,420 --> 00:01:52,450
联系方式和联系方式类型
29
00:01:54,010 --> 00:01:56,160
然后下面这些我们统一都叫做地址
30
00:01:57,390 --> 00:01:58,550
然后这些类的名字
31
00:01:58,560 --> 00:02:01,700
它就变成了联系方式类型的名称
32
00:02:08,550 --> 00:02:16,050
刚才邓超越邓总的内容
33
00:02:16,300 --> 00:02:18,870
我们实现起来
34
00:02:19,160 --> 00:02:20,750
如果实现到数据库里面
35
00:02:22,040 --> 00:02:25,800
刚才这几个类,映射到数据库,1对多
36
00:02:26,460 --> 00:02:28,070
那就联系方式
37
00:02:28,530 --> 00:02:29,890
多对1
38
00:02:29,900 --> 00:02:32,050
所以联系方式里面有人员ID
39
00:02:32,060 --> 00:02:33,010
有类型ID
40
00:02:37,260 --> 00:02:38,610
我们填了一些数据
41
00:02:40,190 --> 00:02:42,230
联系方式类型1电话
42
00:02:42,550 --> 00:02:45,260
2手机3邮件4QQ5微信
43
00:02:45,270 --> 00:02:45,900
6邮政地址
44
00:02:46,150 --> 00:02:49,200
然后按照这个填
45
00:02:49,210 --> 00:02:50,920
这都是1,邓超越这个人的
46
00:02:51,390 --> 00:02:53,490
邓超越这个人
47
00:02:53,500 --> 00:02:56,410
类型5,微信,有一个微信
48
00:02:56,420 --> 00:02:58,720
地址是这个,有一个手机是这个
49
00:02:59,070 --> 00:03:02,770
有个Email是这个
50
00:03:03,260 --> 00:03:04,450
51
00:03:04,740 --> 00:03:07,480
有个微信是这个
52
00:03:08,030 --> 00:03:11,100
有一个邮政地址
53
00:03:12,740 --> 00:03:16,390
这是里面的数据的表达
54
00:03:16,400 --> 00:03:21,550
或者对象的值的填充
55
00:03:24,920 --> 00:03:26,700
我们看,这个怎么使用
56
00:03:27,490 --> 00:03:28,840
首先最常见的就是
57
00:03:28,850 --> 00:03:33,120
列出一个人的所有联系方式了
58
00:03:33,860 --> 00:03:37,620
我们给了两种方案
59
00:03:38,200 --> 00:03:39,910
一个是用存储过程来描述的
60
00:03:44,600 --> 00:03:46,070
用SQL语句来描述的
61
00:03:46,080 --> 00:03:47,790
把它写成存储过程的形式
62
00:03:48,800 --> 00:03:51,040
我们希望尽可能
63
00:03:51,050 --> 00:03:53,000
用集合运算这样的方式
64
00:03:53,560 --> 00:03:55,510
不要用这种编码
65
00:03:55,520 --> 00:03:57,310
if else,不要用这样的
66
00:03:57,800 --> 00:03:59,190
用集合运算的方式
67
00:04:00,200 --> 00:04:04,940
来把我们的逻辑给表达出来
68
00:04:07,360 --> 00:04:08,470
这个还比较简单
69
00:04:09,090 --> 00:04:10,200
列出来
70
00:04:11,150 --> 00:04:16,880
把这三个表连接起来
71
00:04:16,890 --> 00:04:19,180
列出来就完了
72
00:04:20,790 --> 00:04:24,910
得到这个这个这个,联系方式类型
73
00:04:25,420 --> 00:04:31,580
比如说,邓超越这个人,有这么多联系方式
74
00:04:31,910 --> 00:04:33,020
手机这两个
75
00:04:33,030 --> 00:04:34,780
Email这两个,这三个
76
00:04:34,790 --> 00:04:36,140
微信这两个,这样来
77
00:04:36,720 --> 00:04:37,090