File tree Expand file tree Collapse file tree 15 files changed +353
-245
lines changed
mutltithread_pattern_world/src Expand file tree Collapse file tree 15 files changed +353
-245
lines changed Original file line number Diff line number Diff line change 1- * TODO 图片使用白底?
1+ # * TODO 图片使用白底?
2+
3+ # need study markdown specification!
4+
5+
6+
7+ * TODO 显示图片
8+
9+ 
10+
11+ 文件名为英文
12+
13+
14+
15+ * TODO 如果不是作者原创的图表,请在图表下方用文字说明图片来源。(例如,图片/表格来源:XXX。)
16+
17+
18+
19+ * TODO 图片使用黑白色
20+
21+
222
3- need study markdown specification!
423
524
625
Original file line number Diff line number Diff line change @@ -51,6 +51,8 @@ engineState = World.registerAllPipelines(engineState)
5151```
5252
5353
54+ ** TODO 进一步抽象代码,隐藏细节
55+
5456
5557** TODO state的名字重命名为对应的state名
5658
@@ -62,10 +64,14 @@ engineState = World.registerAllPipelines(engineState)
6264来自拼接模式
6365
6466
67+
68+
69+
70+
6571* TODO 给出代码:在“总”中给出进一步的说明每一步的关系
6672
6773如将下面的描述:
68- 首先,我们看下用户的代码 ;
74+ 首先,我们看下Client的代码 ;
6975然后,我们看下Engine的代码
7076然后,我们看下创建EngineState的代码
7177然后,我们看下创建场景的代码
@@ -74,8 +80,8 @@ engineState = World.registerAllPipelines(engineState)
7480最后,我们运行代码
7581
7682改为:
77- 首先,我们看下用户的代码 ;
78- 然后,因为用户调用了Engine的API ,所以我们看下Engine的代码
83+ 首先,我们看下Client的代码 ;
84+ 然后,因为Client调用了Engine的API ,所以我们看下Engine的代码
7985然后,我们依次看下用户代码中每个步骤的相关代码,它们包括:
8086- 创建EngineState的代码
8187- 创建场景的代码
@@ -89,17 +95,24 @@ engineState = World.registerAllPipelines(engineState)
8995* TODO 给出代码:“总”中一般会使用模块名
9096
9197如将:
92- 首先,我们看下用户的代码 ;
98+ 首先,我们看下Client的代码 ;
9399
94100改为:
95101首先,我们看下Client的代码;
96102
97103
104+ * TODO 修改文字错误
105+
106+
98107
99108* TODO 每个模式的具体案例增加到4个
100109
101110
102- * TODO 删除注释文字
111+ # * TODO 删除注释文字
112+
113+
114+
115+
103116
104117
105118
Original file line number Diff line number Diff line change @@ -49,7 +49,7 @@ World负责管理所有的英雄,并且实现了初始化和主循环的逻辑
4949
5050## 给出代码
5151
52- 首先,我们看下用户的代码 ;
52+ 首先,我们看下Client的代码 ;
5353然后,我们看下创建WorldState的代码
5454然后,我们看下创建场景的代码
5555然后,我们看下普通英雄移动的代码
@@ -61,7 +61,7 @@ World负责管理所有的英雄,并且实现了初始化和主循环的逻辑
6161最后,我们运行代码
6262
6363
64- ### 用户的代码
64+ ### Client的代码
6565
6666Client
6767``` ts
@@ -401,7 +401,7 @@ InstanceComponent没有数据和逻辑,它只是一个标记,用来表示挂
401401
402402## 给出代码?
403403
404- 首先,我们看下用户的代码 ;
404+ 首先,我们看下Client的代码 ;
405405然后,我们看下创建WorldState的代码
406406然后,我们看下创建场景的代码
407407然后,我们看下GameObject操作组件的代码
@@ -413,7 +413,7 @@ InstanceComponent没有数据和逻辑,它只是一个标记,用来表示挂
413413最后,我们运行代码
414414
415415
416- ### 用户的代码
416+ ### Client的代码
417417
418418Client
419419``` ts
@@ -963,7 +963,7 @@ GameObject是一个id,它是各个组件Manager中的gameObjectMap的Value和g
963963
964964## 给出代码?
965965
966- 首先,我们看下用户的代码 ;
966+ 首先,我们看下Client的代码 ;
967967然后,我们看下创建WorldState的代码
968968然后,我们看下创建ArrayBuffer的代码
969969然后,我们看下创建场景的代码
@@ -976,7 +976,7 @@ GameObject是一个id,它是各个组件Manager中的gameObjectMap的Value和g
976976最后,我们运行代码
977977
978978
979- ### 用户的代码
979+ ### Client的代码
980980
981981Client
982982``` ts
Original file line number Diff line number Diff line change @@ -192,13 +192,13 @@ DependencyContainer是保存注入的Engine接口实现的容器,提供操作
192192## 给出代码?
193193
194194我们来看下领域模型中四个部分的代码:
195- 首先,我们看下用户的代码
195+ 首先,我们看下Client的代码
196196然后,我们看下编辑器的代码
197197然后,我们看下容器的代码
198198最后,我们看下引擎的代码
199199
200200
201- ### 用户的代码
201+ ### Client的代码
202202
203203Client
204204``` ts
@@ -403,7 +403,7 @@ TODO tu
403403下面我们来看看各个角色的抽象代码:
404404
405405我们来看下领域模型中四个部分的代码:
406- 首先,我们看下用户的代码
406+ 首先,我们看下Client的代码
407407然后,我们看下系统的代码
408408然后,我们看下容器的代码
409409最后,我们看下外部依赖的代码
Original file line number Diff line number Diff line change 2424这样做的话就通过扩展而不是修改来实现了变化,从而符合开闭原则
2525
2626值得注意的是:
27- 因为开闭原则允许修改用户的代码 ,所以这里“用户改为调用模块B”并没有违反开闭原则。
27+ 因为开闭原则允许修改Client的代码 ,所以这里“用户改为调用模块B”并没有违反开闭原则。
2828但是,如果我们直接修改了模块A的代码,则违反了开闭原则
2929
3030
You can’t perform that action at this time.
0 commit comments