首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从类图生成Java代码

从类图生成Java代码
EN

Software Engineering用户
提问于 2011-11-21 16:11:29
回答 2查看 6.5K关注 0票数 4

在开发Java应用程序的过程中,用户可以提供类图并获得相应的Java代码。

我不知道如何让用户交互地用Java绘制类图。我目前正在获取所需的参数,例如属性,直接从用户那里获取函数,然后我为他呈现一个类图。我在jdialog.But上显示了类图,当涉及到多个类图时,它会把我搞砸。有更好的方法吗?

这是一个类图的例子,考虑到值和关系,我需要通过Java程序生成它。

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2011-11-21 16:59:56

第一点:这是相当重要的。第二点: Java环境使Java编译器直接可用,这对实现这一点有很大帮助。我相信你应该能够收集大部分(全部?)通过使用编译器树API遍历AST所需的信息。至少从外观上看,你最关心的部分将是类树接口。因此,基本的想法是创建树访问者,遍历树,并收集您找到的ClassTree对象的信息。

一旦您收集了这些信息,大部分问题就是绘制一个格式良好的结果。如果您有一些可用的资金,我听说过关于yFiles for Java的一些好消息(我还应该提到,同一家公司的yWorks应该做您正在谈论的事情,而是来自JavaDac评论,而不是源本身)。正如你所预料的那样,地段 of 替代方案也是如此。我对大多数人都不太了解(有的吗?)不过,我还是要进一步评论他们(我曾经使用过GraphViz,但很久以前,我不记得太多了,而且我可能记得的东西可能已经过时了)。

票数 3
EN

Software Engineering用户

发布于 2011-11-21 18:25:23

我有一些代码生成方面的经验,但对图表的了解要少得多。我有几个建议:

我注意到你使用人类可读的文本。我建议搜索Inflector.java并选择适当的实现。这也将有助于为类间未标记的关系提供变量名(多元化为您提供List<Foo> foos之类的东西)。

我使用UML图,但我使用xml序列化形式。来自OMG的UML对我很有帮助。为UML图导入/导出底层信息要比自己绘制它们容易得多。这可能不适用,因为你似乎想自己做图表部分。在绘制图表方面已经写了很多东西。我建议你做一些阅读,如果你想要从源头生成图表,而不造成混乱的混乱。

我使用antlr和StringTemplate。从一个好的解析器/语法开始阅读源代码是很好的。StringTemplate很适合生成源代码。我也使用它在工作中的电子邮件模板。如果您不想阅读源代码,请吸进一个jar或类文件,然后到镇上去。我有很多关于BCEL的代码。如果您不喜欢ASM,您可能想看看BCEL。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/120927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档