可执行文件集成是一种将多个不同的可执行文件(通常用不同的编程语言编写)集成到一个单一应用程序中的概念。这个概念既适用于初学者也适用于专业人士,因为它易于实现,即使是在小型项目中,也能显著加快并简化大型项目的开发。
可执行文件集成具有多个优势:
在这个例子中,将使用几个原生的、免费用于商业用途的工具:
将它们集成到一个用 Java 编写的单一应用程序中。
这个例子中的主要应用程序是一个基于 GUI 的网络 ping 工具。它应该包含以下功能的代码:
为此,相应地创建了 4 个类:mainFrame、MainFunctionality、ProcessKit 和 PropertiesReader:
用户界面代码是由开发环境(在这种情况下是 NetBeans)根据视觉编辑的设计自动生成的。用户操作函数调用 MainFunctionality 类来执行实际的程序功能。
这个类为每个 GUI 动作都有一个函数,并根据需要调用 ProcessKit 和 PropertiesReader。大多数函数只是调用一个外部进程,例如 "设置..." 动作:
public boolean SettingsScreen() {
try {
// 打开 "config editor free" 程序
ProcessKit.ExecApp(AppPath +
"\\ConfigEditor\\ConfigEditorFREE.exe", null);
// 从属性文件中读取设置
settingsfile.Reload();
UpdateColor();
return true;
} catch (Exception ex) {
Logger.getLogger(mainFrame.class.getName()).log(Level.SEVERE, null, ex);
}
return false;
}
为此,创建了一个名为 ProcessKit 的类,它有几个用于启动和控制进程的函数。它最重要的函数是 ExecApp(),它基于 Java 内置的执行函数 Runtime.exec()。
当用户点击设置菜单时,它用于运行配置编辑器工具:
这个类读取 ConfigEditor 目录中的 settings.properties 文件,并用于从中检索值(例如目标网站等)。
可以看到,例子中开发者代码非常少,而且由于代码行之间的差异很小,以及调用外部软件子部分的统一方法,代码本身比通常更简单。
只用 2 小时就完成了(不包括之前在制作 ProcessKit 和 PropertiesReader 类上投入的努力)。
让一个初级 Java 开发人员从头开始制作这个示例应用程序,她用了 6 小时(这个代码的 WMFP 指标是 11 小时,所以她比平均开发者快了 45%)。