我写了一个简单的程序,从一个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类,实现一些接口,或者继承一些插件类,然后有一个像这样的方法
pluginExec(List<String> parameters, String command)传递参数(例如abc,1)和命令(C:\Program Files\Test\test.exe /xyz)。然后,可以获取命令标记的所有属性名,即myPlugin1和myPlugin2,然后搜索与myapp.plugins名称空间中的属性同名的类,并调用pluginExec(...)。
对此有更好的想法吗?我想我的想法需要某种反思,有没有办法没有它?该应用程序是一个私有工具,无需重新编译软件即可添加插件。我只是不想每次都改变代码,我只想插入我的新插件类。
发布于 2012-09-03 05:02:08
如果你开发的基于插件的程序在未来不会有很大的增长,那么你的设计是很好的。
但是,如果您希望它不断增长,并且希望向其添加多个特性,那么我建议您尝试OSGi等Java标准。
https://stackoverflow.com/questions/12239713
复制相似问题