[图解]企业应用架构模式2024新译本讲解10-领域模型3

1
00:00:00,550 --> 00:00:05,020
同样,我们也一步一步执行看看

2
00:00:06,570 --> 00:00:08,930
我给代码加了一些注释

3
00:00:08,940 --> 00:00:12,830
我们一边走一边讲

4
00:00:32,160 --> 00:00:33,120


5
00:00:39,200 --> 00:00:40,900
首先,主程序

6
00:00:40,910 --> 00:00:43,330
也是和前面一样,控制台程序

7
00:00:44,580 --> 00:00:50,120
然后创建一个文字处理器

8
00:00:55,030 --> 00:00:56,640
电子表格、数据库

9
00:00:57,190 --> 00:01:01,260
就是创建了三个产品对象

10
00:01:04,320 --> 00:01:06,030
我们看这里,它创建的时候

11
00:01:06,750 --> 00:01:10,370
它是调用了产品

12
00:01:13,650 --> 00:01:15,250
不同的操作

13
00:01:17,600 --> 00:01:18,700
来创建对象

14
00:01:18,950 --> 00:01:23,060
并不是直接说new一个,不是这样

15
00:01:23,920 --> 00:01:30,050
因为前面讲它要创建产品的时候

16
00:01:30,060 --> 00:01:33,650
它要绑定相应的一个策略

17
00:01:34,450 --> 00:01:38,410
所以它是没有用new,new是有的

18
00:01:38,620 --> 00:01:40,420
它是放在这个里面

19
00:01:40,710 --> 00:01:42,100
我们往下走

20
00:01:42,110 --> 00:01:45,570
先看创建文本处理器对象

21
00:01:49,320 --> 00:01:51,900
就跳到这个产品这里来了,产品这里

22
00:01:52,800 --> 00:01:54,430
你看,文本处理器对象

23
00:01:56,020 --> 00:01:59,580
刚才只是一个名称

24
00:02:01,150 --> 00:02:08,480
现在它在这里就调用了产品的构造器了

25
00:02:08,890 --> 00:02:09,920
构造器在这里

26
00:02:11,730 --> 00:02:18,260
构造器它的参数,就两个,一个名称

27
00:02:18,270 --> 00:02:19,220
一个收入确认策略

28
00:02:19,860 --> 00:02:23,960
里面内容很简单,就是赋值了

29
00:02:24,410 --> 00:02:27,430
把这个名称赋值到这里

30
00:02:27,440 --> 00:02:30,190
然后这个策略把它绑定到这里

1
00:00:01,250 --> 00:00:04,380
这里的代码的内容

2
00:00:04,390 --> 00:00:05,660
和书上

3
00:00:07,700 --> 00:00:09,460
写出来的代码的片段

4
00:00:09,810 --> 00:00:11,160
是基本一样的

5
00:00:12,220 --> 00:00:15,190
主要在这里,加了一个

6
00:00:17,660 --> 00:00:20,820
readonly这样一个修饰

7
00:00:20,990 --> 00:00:25,930
意思就是说赋值之后就不允许再修改了

8
00:00:27,200 --> 00:00:30,880
运行的时候赋值,跟那个常数还不一样

9
00:00:30,890 --> 00:00:35,650
常数是编译的时候它就已经编译在里面了

10
00:00:36,670 --> 00:00:37,960
这仍然是一个变量

11
00:00:37,970 --> 00:00:41,910
只不过变量只能赋值一次

12
00:00:43,940 --> 00:00:44,500
书里没有

13
00:00:46,780 --> 00:00:51,400
为什么要这个,好像不要这个也是可以的

14
00:00:53,030 --> 00:00:55,190
要这个的意思就是说让它赋值之后

15
00:00:55,200 --> 00:00:56,230
就不能改变

16
00:00:59,750 --> 00:01:01,790
我也不知道为什么

17
00:01:01,800 --> 00:01:03,020
作者加这个

18
00:01:03,850 --> 00:01:05,240
没有搞太清楚

19
00:01:06,720 --> 00:01:08,270
这个问题不是很大了

20
00:01:09,450 --> 00:01:13,500
好,你看,这里以这个为参数

21
00:01:13,510 --> 00:01:18,580
你看,完全收入策略为参数

22
00:01:18,590 --> 00:01:20,100
创建一个产品对象

23
00:01:21,480 --> 00:01:26,950
所以这个产品是什么类型的产品

24
00:01:26,960 --> 00:01:28,190
实际上你是不知道的

25
00:01:29,010 --> 00:01:31,890
你只能看到这个产品绑定了什么策略

26
00:01:36,080 --> 00:01:37,080
从这个来判断

27
00:01:38,640 --> 00:01:40,150
所以从这个角度看的话

28
00:01:40,160 --> 00:01:43,190
更合适的做法应该是不要说什么策略这种

29
00:01:43,200 --> 00:01:45,900
我们前面软件方法也说了

30
00:01:45,910 --> 00:01:48,230
什么策略、规则

31
00:01:49,030 --> 00:01:49,980
什么器

32
00:01:50,810 --> 00:01:51,840
什么or er

33
00:01:52,530 --> 00:01:55,760
这些都是不好的名字

34
00:01:55,970 --> 00:01:57,840
应该改成更合适的

35
00:01:59,130 --> 00:02:00,130
更本质的概念

36
00:02:00,140 --> 00:02:02,090
比如说,为什么有这个策略

37
00:02:02,630 --> 00:02:04,570
因为它属于不同类型

38
00:02:05,210 --> 00:02:06,610
这里应该写产品类型

39
00:02:06,780 --> 00:02:10,200
就前面那个表模块那个地方

40
00:02:11,810 --> 00:02:13,250
还有事务脚本的地方

41
00:02:13,260 --> 00:02:15,570
有一个产品类型的表或类

42
00:02:17,410 --> 00:02:18,630
把它改成这个就行了

43
00:02:19,230 --> 00:02:21,850
实际上就相当于彩色建模里面的描述

44
00:02:26,790 --> 00:02:32,960
然后,像这种情况,你是什么类型的产品

45
00:02:33,630 --> 00:02:37,850
你是文字处理器,还是电子表格,还是数据库

46
00:02:37,860 --> 00:02:40,290
只能从你绑这个策略来判断

47
00:02:40,870 --> 00:02:42,970
它本身没有其它标记

48
00:02:43,420 --> 00:02:45,950
当然,你说可以从名字判断,这名字是不准的

49
00:02:46,370 --> 00:02:49,020
比如说,你是一个电子表格

50
00:02:50,510 --> 00:02:53,610
明明你是一个电子表格的软件

51
00:02:53,620 --> 00:02:56,560
功能是电子表格的功能,我给你命名叫文档高手

52
00:02:56,840 --> 00:02:57,780
你怎么说,对不对

53
00:02:59,330 --> 00:03:02,440
这个名字本身不是一个严谨的含义

54
00:03:02,570 --> 00:03:03,760
要从这里来判断

55
00:03:04,440 --> 00:03:12,580
这里你看,它用这个策略它是新建的

56
00:03:14,100 --> 00:03:15,580
新建的一个策略对象

57
00:03:16,410 --> 00:03:19,800
然后把它赋值,把它作为参数

58
00:03:20,930 --> 00:03:22,590
传入构造器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值