Mic*_*sef 8 java reflection factory
所以我正在写一个游戏,我遇到了一个难题,我相信Reflection可能是一个更好的解决方案.但是知道反映是不鼓励的,而我的另一个解决方案看起来并不那么漂亮,我想我会在这里问一下,看看在这种情况下什么是更好的主意.
基本上我有一个抽象卡类,并将有几个实现.我有一个案例,我给了一个名片,需要构建一个对象,只是给出了名字.
我知道我可以使用:
a)反射和使用forName并调用.这将是非常短的代码,可以很好地扩展,并且易于编写.那就是说,它是反思,当我不特别需要时,我就是为了避免它.
b)使用Factory设计模式,然后进行巨大的条件检查,根据我提供的名称调用相应的类.编写起来并不困难,但需要不断的维护,并且需要一段时间才能编写,而且编程也不会很好.也就是说,这是一个非反射解决方案.
那么理想的解决方案是什么?我只是使用Reflection,因为它使我的代码保持良好和简短吗?
小智 1
我建议使用工厂模式并使用像 Spring 这样的预构建工厂,您可以使用它来定义 bean 实例,而不是实现您自己的工厂。它将更容易扩展,因为您可以在 XML 或带注释的 Java 代码中定义更多 bean 类型。只需确保您使用非单例 bean,并且每次您向 spring 工厂询问某个名称的 bean 时,它都会正确调用构造函数。它甚至允许您同时免费进行依赖注入。
| 归档时间: |
|
| 查看次数: |
85 次 |
| 最近记录: |