Skip to content

Commit 87d90fe

Browse files
committed
feat(积木模式): update article.md; update code and umls;
1 parent b5cdc21 commit 87d90fe

File tree

12 files changed

+204
-182
lines changed

12 files changed

+204
-182
lines changed

doc/TODO.org

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,17 @@ finish TODO
293293

294294
* TODO finish block pattern article
295295

296+
** DONE update article 1
297+
298+
** TODO update article 2
299+
300+
remove comment
301+
302+
add image
303+
304+
finish TODO
305+
306+
296307

297308

298309

@@ -309,7 +320,7 @@ TODO handle 依赖隔离模式
309320
* TODO 简化UML
310321

311322

312-
* TODO improve story
323+
* TODO unify story
313324

314325
一家公司,开发项目
315326

@@ -320,7 +331,7 @@ TODO handle 依赖隔离模式
320331
经理
321332
老刘
322333

323-
* TODO improve 给出UML 的描述
334+
* TODO unify 给出UML 的描述
324335

325336
先说“总体上来看,xxx”
326337
然后再介绍每个部分的具体模块
@@ -330,6 +341,7 @@ TODO handle 依赖隔离模式
330341
使用总-分-总?套路,最后一个总可选
331342

332343

344+
* TODO 在给出代码->结束一段代码的分析时,给出承上启下语句:总结上段代码,引出下段代码
333345

334346

335347
* TODO give where has code, uml and how to run code and run result for each example

packages/积木模式/article.md

Lines changed: 165 additions & 159 deletions
Large diffs are not rendered by default.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<mxfile host="Electron" modified="2023-03-10T03:52:59.822Z" agent="5.0 (Macintosh; Intel Mac OS X 11_4_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.6.13 Chrome/89.0.4389.128 Electron/12.0.7 Safari/537.36" etag="U3K1AEpFS70dRIiy7Dvf" version="14.6.13" type="device"><diagram id="n54MDWuAZzM2yzlB0eEC" name="第 1 页">1VhNc5swEP01PibDp22OrU2dTupLPJ3GvWlgA+oA65GFDf31FWGxILQed9pg7IvZtyskvX1aFib2Ii1Wgu3iNYaQTCwjLCb2cmJZ5tyx1V+FlIQ4llEjkeAhYRrY8J9AYBOW8xD2nUCJmEi+64IBZhkEsoMxIfDYDXvBpDvrjkXQAzYBS/roNx7KuEbn1kzjD8CjuJnZnHq1J2VNMO1kH7MQjy3I9if2QiDK+iotFpBU7DW81OM+/cF7WpiATF4yYH+4843PX1fOA8r08cPT6vujc0d3ObAkpw3TYmXZMAChIoRMFDLGCDOW+Br9KDDPQqimMZSlY74g7hRoKvAHSFlSdlkuUUGxTBPy9rdC69pjLgI4s35armQiAnkmzqnjqr20JiCiVoApSFGqAAEJk/zQTT4jDUWnOE2zuiCm/4J1q8f6IuHV3t9y3+LoBTNJBNrWOc4OICQUZ3fZeKckTTqctmHcG60fLfOodW/OaETc0nxzl/9Ok33j4nQuFKc7KnGaV2FZkSvKZxr/amwr495tzGXRdi5Lst4/O/NRZcfpnQk/i3gGA5cOxxx36WiWN7CICy6ftWyVtW15tIIr498F7F4oYG9UAjbNa2Tm/VkeV5lwe2ViyYXqj1EMXChmxrgLxbRH1Lpq3IclafqmEVP2qEgynds6s/MLz+x0VGd23pPiJoAM1ixTL5lDn1vX7UrS8YyeCNVhHlKE9m2J0LvJB4fpXqVxOnX/uuHfdvr933f/wzZcl2Z0XGXF65WVJ1DZGrqgnD6Z6YIy0DNOmfor26uv9bHS9n8B</diagram></mxfile>
1+
<mxfile host="Electron" modified="2023-04-08T21:56:35.130Z" agent="5.0 (Macintosh; Intel Mac OS X 11_4_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.6.13 Chrome/89.0.4389.128 Electron/12.0.7 Safari/537.36" etag="UXuD1wpNQ8v8wYkrHiC-" version="14.6.13" type="device"><diagram id="n54MDWuAZzM2yzlB0eEC" name="第 1 页">3VhNj9owEP01Oe4qzhdwbIGy1ZbLoqrL3qxkNnGV2MgYCP31dTZjnGy0iEptSOFC5nkce+a9mcRx/GlRLiTdZEuRQO54blI6/szxPELcSP9VyLFGxqFXA6lkCTpZYMV+AYIuojuWwLblqITIFdu0wVhwDrFqYVRKcWi7vYq8veqGptABVjHNu+gPlqgMo/BGFn8AlmZmZRJN6pGCGmeMZJvRRBwakD93/KkUQtVXRTmFvEqeyUs978sHo6eNSeDqkgnb/d3c/fp9ETwIVTx+elq8PAZ3eJc9zXcYMG5WHU0GINEJQVNIlYlUcJrPLfpZih1PoFrG1Zb1+SbERoNEgz9BqSOyS3dKaChTRY6jwA3zJNLmVlGpmkA3VNz3VuxkDGfiw3D0DVNQZ/yC2q+KtbEAJnIBogAlj9pBQk4V27fFQVFj6cnP0qAvkIk/YMXrsDLNWRX7e24aOXwV3OTM987lbA9SQXk2SjMaoXSxdn3XvXcbP9zmwdYFGeGMrFET5i5/PU3+jYs3uFC84aDES67Egt77M85/M9aVcR8ac1Y2B2fHk3Vt9saDYi/o1NScp4xDz60nIMNuPWZ7PYu8ZOrZylpb68aIVXhl/HuBhxcKfDIogRNyFeauzsKw2kzYaTMzJvX7u5A9N5qRO+xGE3UStawOFv0mKXr3IqjtQSWJBLdV0+MLazoaVE2PO1JdxcBhSbk+JPdd12HYlmwwcTsi1cXep0j92xLp5L988JDwOiyY04k9kKyd5nnkg9PJoF74LmV8WG1p0mlLTzpFvTek0ydD25B6eoZq035lfBtrfKv1578B</diagram></mxfile>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<mxfile host="Electron" modified="2023-03-06T04:52:05.000Z" agent="5.0 (Macintosh; Intel Mac OS X 11_4_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.6.13 Chrome/89.0.4389.128 Electron/12.0.7 Safari/537.36" etag="hyoA1z2xjHiYhuDLVRl7" version="14.6.13" type="device"><diagram id="NGeyM_KxfF-s6x-JSchb" name="第 1 页">3ZZNT4NAEIZ/DUcNH/3Qq7TaxPbURL2ZTXcKqwvTbIeW+utdZCggaVMT0xq5wL47w8w8vAScIEzyByNW8QwlaMd3Ze4EI8f3Pc8d2FOh7Erlpu+XQmSU5KBamKsPYNFlNVMS1q1AQtSkVm1xgWkKC2ppwhjctsOWqNtVVyKCjjBfCN1Vn5WkmKfwh7U+ARXFVWVvcFvuJKIK5knWsZC4bUjB2AlCg0jlVZKHoAt4FZcy7/7A7r4xAymdkhBOho/5/WwayVecv7y7GD71r/guG6EzHpibpV1FAKQFwks0FGOEqdDjWr0zmKUSijKuXdUxU8SVFT0rvgHRjp+uyAitFFOiebesWRQ6OBtLa8zMAo4MxP2TMBHQkbje/glY6wImQGZn8wxoQWrT7kOwh6J9XI3ZXjDpH1D3O9RDrYpRv7NvMFpiSgww8PfMNmAI8uPUulNWCQO2Jr+bgeteu42D29zWvveGnBE3PF/d5dcxBf/NnL0Tzdm/pDl7HerjNFIpnNmcPe9vm7PfwTRSxn6B0JwZ1OBib7Fd1p+vr73GT0Aw/gQ=</diagram></mxfile>
1+
<mxfile host="Electron" modified="2023-04-08T21:56:50.722Z" agent="5.0 (Macintosh; Intel Mac OS X 11_4_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.6.13 Chrome/89.0.4389.128 Electron/12.0.7 Safari/537.36" etag="0oG-g6wyKeGiANLPNREi" version="14.6.13" type="device"><diagram id="NGeyM_KxfF-s6x-JSchb" name="第 1 页">3VZNT4NAEP01HDV8tFSv0qqJemqi3symO4XVZafZDi3117vIICCRaGLUyAX2zduP92YmixcleXlhxSa7QQnaC31ZetHcC8Mg8GP3qpBDjZxMwxpIrZJMaoGlegYGfUYLJWHbIxKiJrXpgys0BlbUw4S1uO/T1qj7u25ECgNguRJ6iN4pSRmrCGctfgkqzZqdg/i0juSiIbOSbSYk7jtQtPCixCJS/ZWXCejKvMaXet75B9G3g1kw9JkJyeXsqjy/uU7lAy7vn3xMbqdHvMpO6IIF82Hp0DgA0hnCQ7SUYYpG6EWLnlksjIRqG9+NWs414saBgQMfgejA2RUFoYMyyjVHwTSZD2I33JKw1AWGUvncWyzsCkb0sRy3YAo0wpvUvEprZwM28gIwB7IHR7CgBaldvzgE11j6xmvT4D44E1/ISjjISqJVpf19bjoertE0nkXhmGc7sATlqMomGnPpcu9Gvn/sdx4+5r7ti2DGM7JOTzSrfLtN0T8v3skni3f6p4p3MsjKwqTKwA8X7yT428U7Hdg0V9bdYGh/2Kj417rcDdvr7zXW+YmIFi8=</diagram></mxfile>

积木模式代码_ts/director_block/src/Main.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ let requestAnimationFrame = (func) => {
1010
}
1111

1212
let _loop = (api: api, blockManagerState: blockManagerState, sceneManagerBlockProtocolName: blockProtocolName, renderBlockProtocolName: blockProtocolName) => {
13-
//通过SceneManager Block Protocol接口来调用SceneManager Block的服务的update函数
13+
//通过SceneManager Block Protocol来调用SceneManager Block的服务的update函数
1414
let sceneManagerService = api.getBlockService<sceneManagerService>(blockManagerState, sceneManagerBlockProtocolName)
1515

1616
blockManagerState = sceneManagerService.update(blockManagerState)
1717

18-
//通过Render Block Protocol接口来调用Render Block的服务的render函数
18+
//通过Render Block Protocol来调用Render Block的服务的render函数
1919
let renderService = api.getBlockService<renderService>(blockManagerState, renderBlockProtocolName)
2020

2121
blockManagerState = renderService.render(blockManagerState)
@@ -33,12 +33,12 @@ export let getBlockService: getBlockServiceBlockManager<
3333
> = (api, { sceneManagerBlockProtocolName, renderBlockProtocolName }) => {
3434
return {
3535
init: (blockManagerState) => {
36-
//通过SceneManager Block Protocol接口来调用SceneManager Block的服务的init函数
36+
//通过SceneManager Block Protocol来调用SceneManager Block的服务的init函数
3737
let sceneManagerService = api.getBlockService<sceneManagerService>(blockManagerState, sceneManagerBlockProtocolName)
3838

3939
blockManagerState = sceneManagerService.init(blockManagerState)
4040

41-
//通过Render Block Protocol接口来调用Render Block的服务的init函数
41+
//通过Render Block Protocol来调用Render Block的服务的init函数
4242
let renderService = api.getBlockService<renderService>(blockManagerState, renderBlockProtocolName)
4343

4444
blockManagerState = renderService.init(blockManagerState)

积木模式代码_ts/engine_block/src/Main.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,30 +8,30 @@ import { dependentBlockProtocolNameMap } from "./DependentMapType"
88

99
//实现积木协议定义的服务
1010
export let getBlockService: getBlockServiceBlockManager<
11-
//Engine Block->dependentBlockProtocolNameMap
11+
//该类型定义在Engine Block->DependentBlockProtocolNameMap
1212
dependentBlockProtocolNameMap,
13-
//Engine Block Protocol->ServiceType->service
13+
//该类型是Engine Block Protocol->ServiceType->service
1414
engineService
1515
> = (api, { directorBlockProtocolName, sceneManagerBlockProtocolName }) => {
1616
//返回服务
1717
return {
1818
director: {
1919
init: (blockManagerState) => {
20-
//通过Director Block Protocol接口来调用Director Block的服务的init函数
20+
//通过Director Block Protocol来调用Director Block的服务的init函数
2121
let { init } = api.getBlockService<directorService>(blockManagerState, directorBlockProtocolName)
2222

2323
return init(blockManagerState)
2424
},
2525
loop: (blockManagerState) => {
26-
//通过Director Block Protocol接口来调用Director Block的服务的loop函数
26+
//通过Director Block Protocol来调用Director Block的服务的loop函数
2727
let { loop } = api.getBlockService<directorService>(blockManagerState, directorBlockProtocolName)
2828

2929
return loop(blockManagerState)
3030
}
3131
},
3232
scene: {
3333
createScene: (blockManagerState) => {
34-
//通过SceneManager Block Protocol接口来调用SceneManager Block的服务的createScene函数
34+
//通过SceneManager Block Protocol来调用SceneManager Block的服务的createScene函数
3535
let { createScene } = api.getBlockService<sceneManagerService>(blockManagerState, sceneManagerBlockProtocolName)
3636

3737
//因为createScene函数返回了新的SceneManager Block的state,所以调用BlockManager的api的setBlockState将其保存到BlockManagerState中,并返回新的BlockManagerState
@@ -47,13 +47,14 @@ export let getBlockService: getBlockServiceBlockManager<
4747

4848
//实现积木协议定义的state
4949
export let createBlockState: createBlockStateBlockManager<
50+
//该类型是Engine Block Protocol->StateType->state
5051
engineState
5152
> = () => {
52-
//返回state
53+
//返回state,该state为空
5354
return null
5455
}
5556

56-
//获得依赖的所有的积木协议名
57+
//获得依赖的所有积木协议名
5758
export let getDependentBlockProtocolNameMap: getDependentBlockProtocolNameMapBlockManager = () => {
5859
return {
5960
"directorBlockProtocolName": "director_block_protocol",

积木模式代码_ts/render_block/src/Main.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ export let getBlockService: getBlockServiceBlockManager<
1717
return blockManagerState
1818
},
1919
render: (blockManagerState) => {
20-
//通过SceneManager Block Protocol接口来调用SceneManager Block的服务的getAllGameObjects函数
20+
//通过SceneManager Block Protocol来调用SceneManager Block的服务的getAllGameObjects函数
2121
let { getAllGameObjects } = api.getBlockService<sceneManagerService>(blockManagerState, sceneManagerBlockProtocolName)
2222

2323
let allGameObjects = getAllGameObjects(api.getBlockState<sceneManagerState>(blockManagerState, sceneManagerBlockProtocolName))
2424

2525
console.log("处理场景数据")
2626

27-
//通过Math Block Protocol接口来调用Math Block的服务的multiplyMatrix函数
27+
//通过Math Block Protocol来调用Math Block的服务的multiplyMatrix函数
2828
let { multiplyMatrix } = api.getBlockService<mathService>(blockManagerState, mathBlockProtocolName)
2929

3030
let _ = multiplyMatrix(1, 2)

积木模式代码_ts/sceneManager_block/src/Main.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ export let getBlockService: getBlockServiceBlockManager<
3030
update: (blockManagerState) => {
3131
console.log("更新场景")
3232

33-
//通过Math Block Protocol接口来调用Math Block的服务的multiplyMatrix函数
33+
//通过Math Block Protocol来调用Math Block的服务的multiplyMatrix函数
3434
let { multiplyMatrix } = api.getBlockService<mathService>(blockManagerState, mathBlockProtocolName)
3535

3636
let _ = multiplyMatrix(1, 2)

积木模式代码_ts/story_improve/src/Client.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { service } from "engine_block_protocol/src/service/ServiceType";
33

44
let blockManagerState = init()
55

6-
//传入的service为Engine Block Protocol定义的服务
6+
//获得了入口积木-Engine Block的服务
77
let { director, scene } = getBlockService<service>(blockManagerState, getEntryBlockProtocolName())
88

99
blockManagerState = scene.createScene(blockManagerState)

积木模式抽象代码/block_facade_abstract/src/Main.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export let init = (): blockManagerState => {
1616

1717
blockManagerState = registerBlock(
1818
blockManagerState,
19-
"entry_block_abstract_protocol",
19+
"entry_block_protocol",
2020
getEntryBlockService,
2121
getDependentEntryBlockProtocolNameMap(),
2222
createEntryBlockState()
@@ -35,7 +35,7 @@ export let init = (): blockManagerState => {
3535
}
3636

3737

38-
export let getEntryBlockProtocolName = () => "entry_block_abstract_protocol"
38+
export let getEntryBlockProtocolName = () => "entry_block_protocol"
3939

4040
export let getBlockService = <blockService>(blockManagerState: blockManagerState, blockProtocolName: blockProtocolName) => {
4141
return getBlockServiceExn<blockService>(blockManagerState, blockProtocolName)

0 commit comments

Comments
 (0)