【发布时间】:2014-12-04 22:34:49
【问题描述】:
是的,这有点矛盾。
是否有表示异步逻辑的可视化语言?像流程图这样简单的东西?
我想对 UI“屏幕”及其背后的逻辑进行建模。
谢谢!
【问题讨论】:
-
这只是一个具有并发性的流程图,即多个活动流 - 比较 NFA 与 DFA。还可以看看 petri 网,它明确用于建模并发逻辑,但它们可能有点过于复杂(取决于您的用例)。
-
我不知道,但
ajax回调(或setTimeout,或任何其他“异步逻辑”)真正发生的情况是,当它触发时,它被添加到事件中队列,然后在事件循环到达该位置时执行。因此,与其通过控制流直观地表示它,不如绘制一个事件队列的表示并让它提供一些东西。请注意,这与并发略有不同,与并行线程有很大不同。 -
图表技术面临的最大决定是如何使用它们。有两种基本的思想流派 - (1) 让您开始,一旦初始代码被剪切,就忘记它们,或者 (2) 在软件的生命周期中,将图表作为配置控制的项目(例如设计文档套件的一部分)并且只对代码进行更改以响应图表(等)中的更改。没有为大型公共/企业客户(尤其是军队)工作过的任何人都可能不熟悉第二种制度。
-
@Roamer-1888:还有第三个:从图表中自动生成代码。它可能还不常见,仍在学术界探索,但提供了一个新的基本思想。
-
听起来你想要数据流图(用于数据源/进程/存储的 DFD)和状态转换图(用于建模 UI 的各种状态的 STD)的某种组合。 IIRC,DFD 的一个有趣规则是异步进程必须通过存储进行相互通信,这可能是系统硬件架构的强大驱动力。
标签: javascript node.js angularjs promise