我为我正在开发的游戏创建了一个相当复杂的(Java)代码。我相当确定将来需要改变它以优化或以其他方式改变确切的功能。该代码能够有效地循环遍历游戏实体的子集。
问题在于,在循环遍历此子集时,应执行不同的代码。例如:
有几种简单的解决方案可能:
可以看出,需要高效且易于管理的代码。 Java编程语言是否还有其他解决方案?我更愿意为处理特定需求的方法提供某种指针的代码,但我不知道Java中是如何实现的。
除了希望得到一个简洁的解决方案之外,我问这个因为我想学习Java内外的每一个问题!谢谢你的回答!
干杯, 装甲
答案 0 :(得分:3)
使用循环代码调用的方法声明一个接口,然后根据您的需要为接口的不同实现提供循环代码。
这通常被称为Template Method Pattern
答案 1 :(得分:0)
我不确定这是否是你的问题的解决方案,但是如果你有一个抽象类做循环实体的基本工作,然后让类扩展抽象类,然后这些子类将做更具体的事情。然后,运行时,您可以根据(用户的?)特定需求提供抽象类类型实际类的变量。
答案 2 :(得分:0)
您可能首先想要将游戏实体划分为不同的类,以便每个类/实体包含自己的代码并知道如何自行处理它。见http://en.wikipedia.org/wiki/Factory_method_pattern
不是使用if / switch语句来确定使用Reflection可以查看的权限。或者更进一步,使用一些IoC容器,如http://www.springframework.net/,这将是一个步骤学习曲线,现在可能有点过头了。但绝对值得阅读和了解更多。