1
00:00:01,750 --> 00:00:03,030
代码还是一样的
2
00:00:03,040 --> 00:00:12,640
我们还是从前面人家做的复刻案例来看
3
00:00:14,170 --> 00:00:15,200
这个是它的类图
4
00:00:15,640 --> 00:00:20,650
我们同样用UModel逆转,这个太小了,看不好
5
00:00:20,940 --> 00:00:23,550
所以我们还是在工具里面看
6
00:00:23,560 --> 00:00:24,110
工具UModel
7
00:00:24,400 --> 00:00:29,570
在哪里
8
00:00:32,080 --> 00:00:37,720
这个地方
9
00:00:41,410 --> 00:00:42,240
合同
10
00:00:43,570 --> 00:00:45,150
这个是产品
11
00:00:47,670 --> 00:00:49,950
收入确认、产品
12
00:00:50,460 --> 00:00:52,810
产品关联到策略
13
00:00:53,650 --> 00:00:54,860
策略有两个子类
14
00:00:55,760 --> 00:00:57,390
一个是一次性的
15
00:00:57,400 --> 00:00:59,150
一个是分三段的
16
00:00:59,680 --> 00:01:03,350
然后这些是它的属性,跟类图上一样
17
00:01:04,840 --> 00:01:05,910
这里多了一些
18
00:01:06,000 --> 00:01:08,270
跟前面一样,多了一些实现的时候
19
00:01:08,960 --> 00:01:17,020
加了一些辅助的操作,这个类图
20
00:01:17,840 --> 00:01:21,450
我们看它的序列图
21
00:01:22,600 --> 00:01:23,650
序列图我们来看
22
00:01:24,770 --> 00:01:31,330
你看,合同有一个操作是
23
00:01:31,690 --> 00:01:32,900
计算收入确认
24
00:01:33,510 --> 00:01:35,310
然后产品这里也有一个操作
25
00:01:35,320 --> 00:01:38,010
计算收入确认,这里
26
00:01:41,900 --> 00:01:42,830
所以它是什么
27
00:01:42,840 --> 00:01:45,560
你看,我们前面,所以它是依次委托
28
00:01:45,570 --> 00:01:48,710
你看,这里有一个计算什么
29
00:01:49,050 --> 00:01:49,820
这里有一个
30
00:01:50,440 --> 00:01:51,190
这里还有一个
31
00:01:52,200 --> 00:01:53,360
当然下面子类肯定也有的
32
00:01:53,370 --> 00:01:55,800
因为这上面超类有,下面肯定有
33
00:01:56,430 --> 00:01:56,870
实现
34
00:01:57,920 --> 00:02:00,390
所以它一层层委托,先到这里
35
00:02:01,130 --> 00:02:02,170
再给它,再给它,这样的
36
00:02:03,260 --> 00:02:05,610
所以你看这里,这里有一个
37
00:02:05,620 --> 00:02:09,170
这个地方,这里,然后再到这里
38
00:02:09,780 --> 00:02:10,140
39
00:02:10,150 --> 00:02:12,140
下面两个子类分别实现
40
00:02:12,150 --> 00:02:16,600
你看,这里,都有计算什么这样的
41
00:02:17,430 --> 00:02:18,730
我们看它怎么委托的
42
00:02:18,740 --> 00:02:20,290
我们可以看合同这个地方
43
00:02:21,420 --> 00:02:28,880
合同的计算什么什么在这里
44
00:02:31,660 --> 00:02:35,930
我们逆转了它的序列图,在这里
45
00:02:38,710 --> 00:02:43,460
合同收到这个调用之后
46
00:02:43,470 --> 00:02:45,660
它委托给产品
47
00:02:47,230 --> 00:02:51,990
产品再委托给策略
48
00:02:52,630 --> 00:02:53,790
但这个策略是什么
49
00:02:54,450 --> 00:02:56,090
是超类
50
00:02:56,890 --> 00:02:57,930
所以到这里就结束了
51
00:02:58,760 --> 00:02:59,990
下面的细节在哪里
52
00:03:00,000 --> 00:03:02,070
那就只能在另外的序列图描述了
1
00:00:01,180 --> 00:00:04,240
我们来看各个子类的序列图
2
00:00:05,670 --> 00:00:07,140
我们还是幻灯片上看好了
3
00:00:07,470 --> 00:00:09,160
字体要清楚
4
00:00:11,490 --> 00:00:15,140
一次性的,收到调用
5
00:00:15,150 --> 00:00:19,100
这是类的操作的序列图
6
00:00:21,260 --> 00:00:23,220
你看,它依赖合同
7
00:00:23,230 --> 00:00:27,910
然后创建收入确认
8
00:00:27,920 --> 00:00:28,870
添加收入确认
9
00:00:30,460 --> 00:00:31,290
这个比较简单
10
00:00:32,080 --> 00:00:35,780
我们看三段这个,这只是一小部分
11
00:00:36,420 --> 00:00:39,590
更大的部分在这里,下面还有很多
12
00:00:40,140 --> 00:00:43,510
这个只是一个小片段
13
00:00:44,080 --> 00:00:45,310
多次策略的计算
14
00:00:45,320 --> 00:00:47,670
你看它要1、2
15
00:00:49,070 --> 00:00:56,270
后面还有,所以这个序列图是比较大的
16
00:00:56,870 --> 00:00:57,990
也就是说,这个程序本身
17
00:00:58,000 --> 00:01:00,150
互相这种跳转是比较多的
18
00:01:01,020 --> 00:01:05,890
像刚才Fowler说的那个缺点
19
00:01:08,610 --> 00:01:10,680
接下来,我们来看一下代码