java - 需要开发基于图形的模拟引擎的建议

标签 java json graph simulation blackboard

在我的大学里,他们开发了一个基于 Java 的应用程序,用于图形可视化和操作,类似于 GUESS。但不知何故具有不同的能力。托管该项目的网站是 graphlab.sharif.edu 但服务器目前已关闭。无论如何,我们现在已经决定将程序拆分成多个部分并公开它们,以便它们可以在其他应用程序中使用。更准确地说,我们希望在开发通用仿真软件时利用这些部分,或者至少在不同的仿真程序中使用它们。

该应用程序具有基于黑板设计模式的强大核心。这是要提取的第一部分。其他部分包括一个基于 xml 的 ui 平台、一个基本的 shell 控制台(使用 beanshell)和其他插件,这些插件以不同的方式增强其功能,例如与 MATLAB 集成和动画算法。

在我们开始应用必要的核心修改和提取之前,我正在寻找一些建议和评论。由于这个应用程序的开发可以追溯到大约 5 或 6 年前,他们没有使用一些当今广泛使用的知名技术,例如 JSON。也没有单元测试。那么,如果您有开发此类应用程序的经验,您建议我们应该怎么做?我们最好使用什么技术?为了什么?真的是黑板吗 这样的应用平台有什么好的解决方案? 您认为我们应该如何使用 JSON 使来自不同语言的开发人员能够扩展我们程序的功能?

如果您想了解有关该项目的更多信息,请告诉我,

提前致谢

最佳答案

您面临的问题似乎很复杂,所以我只能就您问题的某些方面提供建议。

我要做的第一件事是实际将整个项目分成子模块(假设这还没有完成)。最有可能的是,在此过程中您会遇到一些令人不快的意外(即,不应该相互依赖的事物、辅助代码放置在错误的子模块中等)。我还建议您使用构建工具记录这些依赖关系

在缺少单元测试的情况下,根据我的经验,在大部分项目已经开发了这么长时间之后,很难编写合理的单元测试。它们可能不会像您在开发期间编写的那样有值(value),但有些可能仍然对回归测试有用,即。确保您在准备发布时不会搞砸重构或清理:最好的方法似乎是逐步创建新测试,以便这些检查部分您当前正在准备发布的项目。

最后,我建议您尽快发布一个功能最少的版本。这允许其他人给你诚实和实用的反馈(错误报告、功能请求等),然后可以指导你的开发 w.r.t.发布其他模块和后续版本。

关于java - 需要开发基于图形的模拟引擎的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7542465/

相关文章:

Java:(new Random()).nextInt(5) 能否始终返回相同的数字?

java - Amazon s3 java sdk,在预签名 URL 上调用 openStream() 时遇到 SSL 握手异常

java - 如何找到主要的 Lucene 源代码

python - 如何处理networkx图形中的重叠节点

python - 如何使用不同颜色绘制 networkX 图的路径

java - 使用 Java 2D 和 Swing 绘制图形

java - 使用 LombokRequiredArgsConstructor 作为 JsonCreator

json - Go Unmarshal json,其键可以是两种类型之一

json - 使用 JSON_MODIFY(),当名称未知或未指定时,如何将字符串附加到根路径?

javascript - AngularJS $uibModal 不工作