2012-09-02 157 views
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類實現一些接口或繼承一些插件類,然後有一個方法像

pluginExec(List<String> parameters, String command) 

獲取傳遞的參數(例如ABC,1)和命令(C:\ Program Files文件\測試\ TEST.EXE/XYZ)。 然後可能採用命令標籤的所有屬性名稱,因此myPlugin1和myPlugin2,然後搜索與myapp.plugins命名空間上的屬性具有相同名稱的類並調用pluginExec(...)。

對此有什麼更好的想法?我想我的想法需要某種反思,沒有它,有沒有辦法?該應用程序是一個私人工具,無需重新編譯軟件即可添加插件。我只是不想每次都更改代碼,我只想插入我的新插件類。

回答

1

如果您開發的基於插件的程序在未來將不會增長很多,那麼您的設計就很好。然而,如果你期望它增長,並且你希望爲它增加多個功能,那麼我建議你嘗試Java標準,比如OSGi。