桌面样架的架构

2021-04-17 07:11:22

UI Drofter是一个传统的应用程序,而不是Crud Spa.it脱机,具有撤消,快捷方式,并保存到文件。此外,它会自动在浏览器中保存。

让' s调用undo帧到重放动作所需的数据。例如,以下帧更新具有特定ID的卡的标题字段。

这样,撤消是一个将商店恢复到可惜快照的问题,并重放每个更改到倒数第二。

一些撤消步骤有很多动作。例如,从卡A移动到卡B.

在幕后,该函数有一个删除的(' carda' ......)和插入物(' cardb' ......)。因此,泛威胁ArkeferRecorder将底层基础设置的所有呼叫集收集到一个撤消框架中。

函数moveentrytoanothercard(fromcardid,Restrid,tocardid){const Endtx = new transactionRecorder(); // ...被删除(从哥斯达德,RentreID); InsertEntry(tocardid,......); Endtx();}

在上一个赛段中缺少一些重要的东西。"复制"删除条目的属性?

与不可变数据结构相比(选项3),我们可以' t simply updatenon-marigiges,例如对象和数组。相反,我们必须创建一个纽音,所以运行时参考不要用撤消堆栈中的那些冲突。

例如,条目的OuthtLinks字段是arrayof对象(条目指针)。因此要将条目移动到另一张卡,我们向Deep Clone该阵列,并将其分配给新插入的条目。

撤消帧也可以用于实时同步多个用户(在UI Drafter中实现)。此外,它们与元数据伸展。 forexample,用于将许多撤消步骤挤压为一个,如滑块输入的突发。

后端API不与服务器端API混淆。在图中,虚线以下的所有内容都在客户端上运行。

后端内存具有用户文件内容。它的数据是JSON-SAFE,ANDIT' S在浏览器中自动保存,在浏览器中自动保存(选项2)之后,与IT'相应的撤消堆栈一起保存。因此,如果有许多具有相同打开文件的选项卡,则上次编辑的一个wins.and,undo堆栈在会话之间持久。

压缩机主要用于删除默认卡和entryfields。您可以通过单击文件→保存到磁盘来查看压缩的JSON文件。相反,将该文件放入UI Drofter以解压缩它。

而不是只键入检查CardId,例如,如果它' s valiglyformatted字符串,验证器会更深并检查卡或条目是否存在。

中间件文件是"应用程序特定的和#34;算法。我认为它们是象的,或作为写作的有趣算法。该规则是这些文件Don' tquery或需要UI;它们'重新完全来自后端存储器。 viConvention,它们的扩展是* .mid.js。这里有些例子:

它' s用于查找面条区域内的条目,并绘制连接。

确定计算公式和用户JavaScript的依赖关系图。例如,嵌套卡片括号括号,最深的括号首先获得计算。

循环检测算法阻止创建连接可能导致无限环路的连接。例如,当尝试Tolink时,总数取决于另一卡进入该卡。

前端内存对象,UI状态不是undoable.some持续到localStorage,例如工具arisvisible和scrollbarsarevisible.on,另一方面,一些非持久的示例是:

React-Wise,状态控制组件需要静态的GetDeredStateFromPropS(道具,状态)方法,以便在撤消时恢复先前的值,以及用于实时更新。

我希望本指南有助于您组织和连接您的水疗中心。不要忘记结账UI Drofter。免费,限制为Free.uidrafter.com的免费版,限制为五张牌。