1
00:00:00,410 --> 00:00:04,980
这一步跟我们的数据库建模是很相像的
2
00:00:05,770 --> 00:00:08,850
如果说你不熟悉面向对象的建模
3
00:00:08,860 --> 00:00:09,800
不熟悉UML
4
00:00:09,810 --> 00:00:11,560
你说你熟悉数据库
5
00:00:12,650 --> 00:00:14,480
你就把它当成数据库建模好了
6
00:00:14,490 --> 00:00:17,430
就是说,假设我这个系统
7
00:00:19,260 --> 00:00:20,520
要用关系数据库
8
00:00:20,530 --> 00:00:21,840
来保存数据的话
9
00:00:23,270 --> 00:00:24,590
里面应该有哪些表
10
00:00:27,240 --> 00:00:27,890
这里的表
11
00:00:28,750 --> 00:00:30,510
跟我们面向对象的实体类
12
00:00:31,670 --> 00:00:33,050
基本上是一一对应的
13
00:00:35,380 --> 00:00:41,930
当然了,面向对象和关系数据库
14
00:00:42,770 --> 00:00:44,050
它并不是绑定的
15
00:00:46,240 --> 00:00:48,240
任何系统你都可以
16
00:00:48,250 --> 00:00:50,040
用面向对象的方式来建模
17
00:00:52,770 --> 00:00:56,450
不管你存储数据是不是用关系数据库
18
00:00:59,230 --> 00:01:02,740
比如说,电梯
19
00:01:03,560 --> 00:01:07,620
我们进了电梯按个5
20
00:01:07,630 --> 00:01:09,010
电梯就记录了某些东西
21
00:01:10,390 --> 00:01:11,490
然后它就往上走了
22
00:01:12,850 --> 00:01:13,730
到了5楼
23
00:01:14,390 --> 00:01:15,660
它会把门打开
24
00:01:17,950 --> 00:01:18,500
很神奇吧
25
00:01:19,480 --> 00:01:20,160
说明什么
26
00:01:20,170 --> 00:01:22,350
它刚才记住了某些东西了
27
00:01:23,430 --> 00:01:28,160
请问,刚才它记住了什么样的信息
28
00:01:29,700 --> 00:01:30,500
什么样的概念
29
00:01:33,520 --> 00:01:36,200
我们能不能说,它记住了一个整数5,可以吗
30
00:01:37,360 --> 00:01:38,600
代码这样写,可以吗
31
00:01:39,230 --> 00:01:40,510
定义一个整型变量
32
00:01:40,520 --> 00:01:42,010
目标楼层,等于5,可以吗
33
00:01:42,270 --> 00:01:42,660
可以的
34
00:01:43,650 --> 00:01:47,720
但是这个不是我们的恰当的抽象
35
00:01:48,640 --> 00:01:49,720
因为整数
36
00:01:50,730 --> 00:01:52,730
这个不是电梯调度
37
00:01:52,740 --> 00:01:54,290
这个领域里面的概念
38
00:01:55,610 --> 00:01:59,530
哪个才是,这个才是,电梯、楼层
39
00:02:00,960 --> 00:02:02,060
我们按5的时候
40
00:02:02,880 --> 00:02:05,870
实际上是在电梯和5楼
41
00:02:05,880 --> 00:02:07,190
这个目标(口误)楼层之间
42
00:02:07,200 --> 00:02:10,660
建立了一个关联,什么关联呢
43
00:02:11,350 --> 00:02:12,910
目标楼层的关联
44
00:02:15,470 --> 00:02:20,140
而电梯跟楼层还有别的关联
45
00:02:20,150 --> 00:02:21,820
有当前楼层关联
46
00:02:22,620 --> 00:02:25,290
楼层跟楼层有上下层关联
47
00:02:26,500 --> 00:02:27,850
这个才是核心概念
48
00:02:30,060 --> 00:02:32,530
只要你有电梯调度这个领域
49
00:02:33,290 --> 00:02:36,980
那么这个概念都是成立的
50
00:02:39,290 --> 00:02:40,710
不管你用什么方法来实现
51
00:02:40,840 --> 00:02:43,620
比如说,一个电梯有多个目标楼层
52
00:02:48,320 --> 00:02:49,960
你可以用数组实现
53
00:02:49,970 --> 00:02:52,230
用列表实现,用什么实现都可以