0

我编写了一个简单的程序,从 XML 文件中获取一些命令,执行它,检查命令的错误,通过邮件报告等。命令的条目如下所示:

<command>C:\Program Files\Test\test.exe /xyz</command>

现在我想介绍一些插件:

<command myPlugin1="abc,1" myPlugin2="def">C:\Program Files\Test\test.exe /xyz</command>

我考虑将插件编写为实现某些接口的 Java 类或子类化某些 Plugin 类,然后使用类似的方法

pluginExec(List<String> parameters, String command)

传递参数(例如 abc,1)和命令(C:\Program Files\Test\test.exe /xyz)。然后可能取命令标记的所有属性名称,因此 myPlugin1 和 myPlugin2,然后搜索与 myapp.plugins 命名空间上的属性名称相同的类并调用 pluginExec(...)。

有什么更好的想法吗?我想我的想法需要某种反思,有没有办法没有它?该应用程序是一个私有工具,无需重新编译软件即可添加插件。我只是不想每次都更改代码,我只想插入我的新插件类。

4

1 回答 1

1

如果您开发的基于插件的程序在未来不会增长很多,那么您的设计很好。

但是,如果您希望它增长并且希望向它添加多个特性,那么我建议您尝试像 OSGi 这样的 Java 标准。

于 2012-09-02T21:02:07.557 回答