【问题标题】:Generate Java code from a diagram model从图表模型生成 Java 代码
【发布时间】:2011-06-29 00:29:36
【问题描述】:

在我的应用程序中,我为决策图(节点+连接)建模。我已经准备好模型类(两个基本类:NodeConnection + 特殊情况的子类)。该图变得非常大,仅通过代码跟踪所有连接和节点并不容易(并考虑到未来的维护)。我想知道是否有一个工具(Eclipse 插件或其他)可以提供我的模型类(即节点类型、连接类型),使用它以图形方式“绘制”图表(制作节点和连接)然后生成图的代码?

模型类:
Node:包含来自此节点的所有连接的List<Connection>
ConnectionNode fromNode to

编辑: 我想生成一个初始化所有需要的节点和连接(NodeConnection 对象)并返回头/开始节点的方法。然后,应用程序在做出决策时会遍历此内存中的结构。

【问题讨论】:

    标签: java eclipse graph code-generation decision-tree


    【解决方案1】:

    听起来有点像你想要 jgraph 之类的东西? http://www.jgraph.com/jgraph.html

    【讨论】:

    • 不 - 但我不确定你为什么真的想这样做。您正在构建一个表示某种图形的数据结构。通常,您可能需要以某种序列化形式存储/持久化图形,但这种形式很少是 java 代码。
    • 当然不是说不能做! - 只需将您的数据结构序列化为 java。
    • 我想将其转换为 java 代码,因为此图随后用于做出决策 - 这是一个决策图。我选择一个起始节点,然后遍历图形直到到达一个结束节点。
    • 这是您遍历的内存数据结构。不过,您不会遍历 java 代码。如何构建结构并不重要,您可以从代码构建它,或者从 gui 构建它,或者从序列化表单构建它。它仍然是一个内存数据结构
    • 没错,但我想以图形方式构建这个结构(通过绘制图表),然后生成一个初始化所有对象(节点和连接)并返回起始节点的方法。关于如何做到这一点的任何建议?
    【解决方案2】:

    看看Velocity。它被广泛用于代码生成。

    【讨论】:

      【解决方案3】:

      您可能会喜欢graphviz。在该应用程序中构建方向图非常容易。如果您想这样做,有几个包装库可以帮助集成它。或者,如果您只想输入图表并生成图片,这非常简单。查看示例here。 FTW:我已经将它广泛用于类层次结构、交互流描述、思维导图...... :)

      【讨论】:

      • 谢谢,但我也对根据图表生成代码感兴趣。 Graphviz 似乎不支持这一点。
      • 啊,废话!我读错了。抱歉,我猜速度是选项之一。
      • 据我所知,做图表和代码类型化的唯一工具是基于 UML 的工具。altova.com/umodel.htmlsparxsystems.com.au 不确定你是否对它们感兴趣。
      【解决方案4】:

      你试过AndroMDA

      AndroMDA(发音:andromeda)是一个遵循模型驱动架构 (MDA) 范式的开源代码生成框架。它从 CASE 工具中获取模型并生成完全可部署的应用程序和其他组件。

      如果你可以使用一些 UML 工具来创建你的图表(不知道这有多容易)AndroMDA 可以为你生成 java 代码。

      它支持许多UML tools,包括一些免费工具。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-05-08
        • 2012-10-18
        • 2019-04-03
        • 1970-01-01
        • 1970-01-01
        • 2011-05-01
        • 1970-01-01
        相关资源
        最近更新 更多