美文网首页
61 | 全局性功能的架构设计

61 | 全局性功能的架构设计

作者: hedgehog1112 | 来源:发表于2020-10-06 15:16 被阅读0次

架构中难啃骨头。如难被独立分成模块,就是全局性功能

保持核心系统的纯洁性比什么都重要,最小化,要稳定

一、读盘 / 存盘功能

Office为例子,增加功能

读盘 / 存盘:,要考虑如何存、恢复

Undo/Redo:增加功能,要考虑如何回滚 / 重做,很难剥离。

引入 IO DOM 来进行正交分解,关键点:

1、“读盘 / 存盘” 独立成子系统,叫 IO 子系统

2)抽象出它对核心系统稳定依赖.为什么这个稳定依赖最后设计为 IO DOM,是因为 DOM 是核心系统的常规界面

3)让全局性功能反向依赖接口来完成。核心系统伤害值最低。

二、Undo/Redo 功能

Command 模式,解决 Undo/Redo 场景。每个用户操作都实现为一个 Command,Command 反操作,实现Undo 的能力

实际只节省了 1% 的工作量。其余 99% 工作量在实现一个个 Command 身上

三、快速存盘

只追加到文档的尾部。并不完整的文档写到磁盘,只读最新版本即可

有镜像能力,Undo/Redo 能力

缺点,不能异步存盘

https://ai.nodejs7.com/2019/12/24/41.html

相关文章

网友评论

      本文标题:61 | 全局性功能的架构设计

      本文链接:https://www.haomeiwen.com/subject/ilvwuktx.html