在我的团队目前正在进行的项目中,我们有数十个用于特定事件的处理程序,它们实现了一个通用接口,并在它们侦听的事件发生时调用它们。
问题来了:我们是应该使用属性文件来配置我们当前拥有的处理程序还是使用反射来列出所有实现公共接口的类?
使用属性文件的优点:
- 更灵活,更容易禁用特定的处理程序。
- 在不同的环境中可能有不同的配置。
使用反射的优点:
- 更易于部署,无需维护用于添加/删除类的属性文件。
- 更防错,因为我们不需要处理属性文件中的纯文本并使用类加载器加载它们。
我目前在两者之间犹豫不决。是否存在普遍认为的“良好做法”?