【问题标题】:Actionscript 3: Sequence Diagrams for Event HandlingActionscript 3:事件处理的序列图
【发布时间】:2011-01-07 18:44:59
【问题描述】:

我必须为我编写的软件绘制一些序列图。在我的软件中,我有一些调度自定义事件的对象和其他侦听这些事件的对象。

当谈到说明 Eventlisteners 和 dispatchEvent-function 时,我有点困惑如何做到这一点。我google了很多,但找不到正确的提示:(

或者说序列图不是解释事件处理的好选择?

感谢您的帮助!

【问题讨论】:

    标签: actionscript-3 sequence-diagram dispatch uml event-based-components


    【解决方案1】:

    您的问题没有明确的答案,因为创建有用的图表很大程度上取决于您想向读者传达什么样的信息。我的建议是:你永远无法在一张图表中显示所有程序的功能;事件处理通常过于复杂和丑陋 - 尝试将其拆分为更小的部分并单独决定,哪种图表对您想要显示的哪些方面有用。

    对于每个人,您的重点应该始终放在读者身上:您希望他或她理解什么?

    首先,如果您还没有这些用例,通常最好编写用户故事并展示用例。它们传达了您的程序的功能,并帮助您识别流程并组织您对程序的思考方式。 对于这些过程中的每一个,序列图可能最有助于显示事物的工作方式。例如,如果您的程序功能之一是上传图像,您应该绘制一个序列图,显示仅在上传过程中涉及的主要组件、对象和事件序列。

    下一步是对剩余的事件和对象进行分类,它们更细粒度或不直接与用户交互:哪些事件是内部的(即在同一个对象内调度和处理),哪些是外部的(在一些对象),甚至是全局的(影响整个应用程序)。这将帮助您识别相互交互的对象组。
    根据对象的复杂程度,我经常在状态图或流程图中显示内部事件序列。

    如果您有一些较小的对象组,其中交互不太复杂,并且在谁做什么方面更有趣why 而不是 when,您可以稍微使用修改后的类图 - 这些可能不是很正式,但对于某些概念,它们通常比流程图、状态或序列图更有用。

    还应该提到的是,在某些情况下,图表并没有真正的帮助。有时,写一个简短的文本提供一个例子,或者在表格中收集信息会更有用。当读者了解您的程序做什么以及如何做的概念时,文档就完成了。对于其他一切,总是有源代码。

    【讨论】:

    • 您是否有任何指向动作脚本 3 项目/应用程序(即基本事件处理程序)流程图的链接/示例
    • 您认为什么是“基本事件处理程序”?几乎任何远程高级 AS3 程序都将使用事件处理。此外,可能不会有整个应用程序的单个流程图,而是描述核心模式和/或使用的概念的几个图表。你有没有看我的回答?
    • 是的,我已经阅读了您的答案,我已经使用块级图来表示我可以表示的类中的核心概念,但除了初步类实例化的特定情况外,它们之间没有实际的流程.即您在第一步中所说的方式。我正在寻找一种更好的方式来表示是你提到的下一步
    • 对象的内部事件流和状态可以很容易地表示为流程图——实际上是一个有限状态机:en.wikipedia.org/wiki/Finite-state_machine。事件触发状态之间的转换。也许这会对您有所帮助。
    【解决方案2】:

    我不确切知道您在这里要做什么,但序列图完全能够代表您所描述的那种系统。 Here 是一篇关于序列图的文章。查看异步消息和并发部分。另一个article 实际上有一个事件监听器的例子。它讨论了序列图和类图。我想你会对序列图的例子感兴趣。

    【讨论】:

    • 非常感谢。这两篇文章似乎都很有趣!我会读的。
    猜你喜欢
    • 1970-01-01
    • 2011-02-04
    • 2011-07-10
    • 2013-01-13
    • 2016-03-16
    • 2015-06-05
    • 1970-01-01
    • 1970-01-01
    • 2012-02-10
    相关资源
    最近更新 更多