World of FluxCraft:构建完整应用的技术解析
1. 玩家移动序列示例
当玩家想要移动到新的地图位置时,整个系统的信息流动如下:
1. 用户按下合法移动的箭头键。
2. Flux UI 对按键做出反应,修改本地地图存储,并相应地渲染组件。
3. JavaScript 将移动命令的 JSON 负载发送到本地 /api/moves URL。
4. UI 主机服务将该负载转发到命令处理器服务。
5. 命令处理器从传入的命令生成一个事件,并将其分发到队列。
6. 事件处理器从队列中获取事件并执行必要的处理:
- 将事件写入事件存储。
- (如果适用)向实时消息系统发送通知。
- 计算新的游戏状态,并作为更新提交到现实服务器。
graph LR
A[用户按下箭头键] --> B[Flux UI 响应并修改本地存储]
B --> C[JavaScript 发送 JSON 负载]
C --> D[UI 主机服务转发负载]
D --> E[命令处理器生成事件并分发]
E --> F[事件处理器获取事件]
F --> F1[写入事件存储]
F --> F2[发送通知]
F --> F3[计算新状态并更新现实服务器]
2. 命令处理
2.1 命令处理概述
命令处理器的工作如其名称所示,即处理命令。命令是一种意图声明,客户端向系统发出命令,而不了解该命令将如何实