java - 表示工作流的类结构

标签 java linked-list uml workflow sequence

在 Java 类结构中表示工作流的最佳方式是什么(工作流被视为一系列操作)?让我们假设一个类 Workflow 包含 Action-objects。我认为这可以通过使用 LinkedList 来实现,但是无法进行分支。

我的目标是表示类似于 UML Activity 图的结构,这意味着它也应该可以定义决策、拆分和连接。

另一种方法是使用 BuildingBlock 的 LinkedList,它定义了一个接口(interface)。然后创建额外的类来定义 Desicions 和 Splits 或 Joins 实现这个接口(interface)(splits 和 joins 可以表示为一个容器,其中包含更多带有 BuildingBlocks 的 LinkedLists)

您如何看待这个想法或者您知道更好的解决方案?

如果您知道我可以用于谷歌搜索有关该主题的更多“关键字”,请不要犹豫,发布它们!

最佳答案

我建议看一下 Microsoft 在实现 Windows Workflow Foundation 时使用的类层次结构平台(而不是完全重新发明轮子)

源代码已开放供检查,参见例如http://referencesource.microsoft.com/#System.Activities/System/Activities/Statements/FlowSwitch.cs

他们已经想到了Workflow Designer与图形语言等

Workflow Foundation 平台在 Windows 操作系统之外并不可用,如 corresponding Mono project 的状态所述

因此,如果您的目标操作系统是 Windows,那么您可以只使用 .NET。如果您的目标平台不是 Windows,那么您至少可以看看。 C# 和 Java 是复制/粘贴友好的语言。

关于java - 表示工作流的类结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24407764/

相关文章:

java - JFreeChart XYSeries 作为字符串

java - 为什么 Java 在 Exception 和 Throwable 类中声明 serialVersionUID?

java - UML。如何说明外部库的用法?

model - 创建可浏览的域模型图的工具 "dynamically"

java - 调用同一个mock方法时如何返回不同的结果?

java - 屏幕高度的奇怪行为(以像素为单位)?

c# - 面试题: remove duplicates from an unsorted linked list

java - 在java中使用stacks(LinkedList)实现表达式树如下,但有错误

Java:循环链表中的 NPE :(

java - Java 实现与 UML 规范关于接口(interface)和抽象类的区别