最佳实践:使用什么反射?

时间:2009-09-23 06:19:43

标签: reflection

我正在考虑允许模块在属性文件中使用类;

之类的东西
availableModules.properties
Contact=org.addressbook.ContactMain
Business=org.addressbook.BusinessMain
Notes=org.addressbook.Notes

...

我的框架将使用反射来实例化相关模块,然后在相关基类上调用方法,或者根据需要将对象作为参数传递。

  • 以上是使用反射的好地方吗?
  • 是否有关于在SO上发布反射的最佳实践(我无法找到一个)?我们可以在这些行开始列表,并在此处发布任何回复吗?

EDIT 这是我想到的那种场景的另一个例子。

确定呼叫点需要一些核心代码。 我看到的一个应用程序通过使用反射实现了这一点,另一个应用程您是否认为前者是可以应用反射的推荐场景?

3 个答案:

答案 0 :(得分:5)

有关支持您的想法的优秀框架,请查看the IOC container of the spring framework

答案 1 :(得分:2)

  

以上是一个好用的地方   反射?

我会说不。如果你想做这种事情,你可能应该使用支持Inversion of Control aka Dependency injection的(很多)现有成熟框架之一。 Spring IOC是最受欢迎的,但还有很多其他的。谷歌为“ioc框架java”。

在引擎盖下,这些框架最有可能使用反射。但这并不意味着你应该重新发明轮子。

答案 2 :(得分:0)

如果我想动态使用一个信息(程序集名称,类名,方法名,方法参数等)存储在字符串(文本文件或数据库)中的类,我通常使用反射。