我正在寻找一个好的Perl设计模式来运行编译时未知的代码。方案是我将修补程序应用于大型Java应用程序,这大多只是放置新的类文件,但有些修补程序需要更改配置文件,我想为此使用Perl。此时已经运行了一个Perl脚本,正在选择要应用哪些补丁以及按什么顺序运行的脚本,并且它有大量我希望利用的状态信息,所以理想情况下我会能够在当前脚本的进程空间内运行任意补丁代码(我不预期需要更改任何此状态数据)。不过,我有一些重要的限制:
我想过尝试的一些事情:
在Java中,我会让单独的bug类实现一个通用接口,并有一个工厂来创建所有这些,虽然我不知道编译时实现类的名称,所以我&#d; d求助于Class.forName()。
所有这些都是丑陋的一面,并引导我完全重新考虑设计理念,这可能是正确答案。