[图解]企业应用架构模式2024新译本讲解05-表模块2

1
00:00:00,970 --> 00:00:03,440
接下来,我们就来看案例了

2
00:00:03,690 --> 00:00:09,260
案例跟上一次事务脚本案例是一样的

3
00:00:11,210 --> 00:00:13,130
也是收入确认这个案例

4
00:00:14,460 --> 00:00:15,580
这是表结构

5
00:00:15,790 --> 00:00:24,470
跟我们前面那个是类似的,产品表

6
00:00:25,260 --> 00:00:27,880
这个是合同,收入确认表

1
00:00:01,830 --> 00:00:02,940
不一样的地方

2
00:00:03,150 --> 00:00:06,790
就是这个地方

3
00:00:07,360 --> 00:00:12,060
前面那个案例里面

4
00:00:12,550 --> 00:00:13,900
收入确认的地方

5
00:00:13,910 --> 00:00:16,140
它用了一个复合主键

6
00:00:17,040 --> 00:00:18,780
这里的话

7
00:00:19,040 --> 00:00:20,530
就没有,书里面没有用这个

8
00:00:20,790 --> 00:00:23,610
后面我们演示后来的代码的时候

9
00:00:24,430 --> 00:00:26,790
也没有用,直接主键就完了

10
00:00:26,800 --> 00:00:27,910
其实这是更好的

11
00:00:28,560 --> 00:00:31,820
像复合主键这种搞复杂了

12
00:00:31,830 --> 00:00:36,230
每个对象都有一个标识

13
00:00:36,320 --> 00:00:38,310
这个标识本来就应该没有什么意义的

14
00:00:38,320 --> 00:00:42,040
你不用去考虑怎么来构造标识

15
00:00:42,050 --> 00:00:43,400
用哪个字段好

16
00:00:43,410 --> 00:00:45,040
它本来就不应该属于

17
00:00:45,050 --> 00:00:47,550
这个里面的某个字段

18
00:00:48,070 --> 00:00:51,320
像前面的,拿一个签约日期

19
00:00:51,650 --> 00:00:52,760
不是,确认日期

20
00:00:53,370 --> 00:00:55,760
作为主键一部分,这是不对的

21
00:00:55,770 --> 00:00:58,380
因为这里面都是有领域含义的

22
00:00:59,450 --> 00:01:00,560
这本身就应该是一个

23
00:01:00,570 --> 00:01:04,560
无任何意义的,随机的标识,才对的

1
00:00:01,330 --> 00:00:04,160
接下来,我们就来看一下代码

2
00:00:06,900 --> 00:00:08,050
这代码同样的

3
00:00:08,060 --> 00:00:10,190
我先用UModel

4
00:00:10,200 --> 00:00:13,130
把代码逆转成

5
00:00:13,140 --> 00:00:18,880
类图、序列图,先看一下结构,还有相互的协作

6
00:00:19,740 --> 00:00:21,020
然后我们再运行一下

7
00:00:25,670 --> 00:00:27,570
逆转得到的类图是这样的

8
00:00:28,640 --> 00:00:34,240
这个类图我稍微调整了一下样式

9
00:00:35,430 --> 00:00:39,940
比之前截的图要好看一点,看得清楚一点

10
00:00:41,460 --> 00:00:45,090
你看,这是一个表模块的超类

11
00:00:45,810 --> 00:00:52,770
上面定义了,表模块构造器

12
00:00:52,780 --> 00:00:54,660
两个参数

13
00:00:54,670 --> 00:00:57,680
一个是数据集

14
00:00:58,110 --> 00:00:59,140
一个是表名

15
00:01:01,920 --> 00:01:08,270
然后,这里继承它

16
00:01:08,840 --> 00:01:12,570
构造器这里

17
00:01:14,030 --> 00:01:16,570
这里是一个

18
00:01:19,100 --> 00:01:20,780
数据集的参数

19
00:01:21,680 --> 00:01:22,120
就可以了

20
00:01:22,830 --> 00:01:24,770
然后把表名作为参数

21
00:01:24,940 --> 00:01:28,380
它是调用上面基类的

22
00:01:29,230 --> 00:01:34,190
超类的构造器,这个地方

23
00:01:36,820 --> 00:01:38,880
然后下面就是一样了

24
00:01:38,890 --> 00:01:40,160
这是主程序

25
00:01:40,570 --> 00:01:42,000
也是一个控制台的程序

26
00:01:42,750 --> 00:01:44,380
然后这里面不一样的

27
00:01:44,390 --> 00:01:46,230
就是产品类型

28
00:01:46,550 --> 00:01:51,080
之前是直接嵌在产品里面

29
00:01:51,090 --> 00:01:53,650
作为一个字符串存在的

30
00:01:53,660 --> 00:01:56,900
现在这里把它单独分出来

31
00:01:56,910 --> 00:01:58,260
作为一个枚举的类型

32
00:02:01,670 --> 00:02:02,590
下面这些方法

33
00:02:02,600 --> 00:02:07,310
跟前面事务脚本的方法是差不多的

34
00:02:07,700 --> 00:02:12,130
就多了一个什么,这里多了一个Allocate

35
00:02:14,360 --> 00:02:16,220
自己写了一个

36
00:02:17,050 --> 00:02:22,590
没有用之前Money类的方法

  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值