我目前正在设计一个通过操纵声明的字段大量使用反射的类。因此,许多方法在它们的主体方面有一些共同点,(希望)这个 java 代码说明了这一点:
import java.lang.reflect.Field;
public class foo {
public void foo1(/* arguments1 */) {
for (Field f : getClass().getDeclaredFields()) {
// do some stuff using arguments1
}
}
public void foo2(/* arguments2 */) {
for (Field f : getClass().getDeclaredFields()) {
// do some stuff using arguments2
}
}
public void foo3(/* arguments3 */) {
for (Field f : getClass().getDeclaredFields()) {
// do some stuff using arguments3
}
}
//and so on...
}
根据这个类最终包含多少方法,这是否可以被视为设计缺陷?例如,如果我想使用getFields()
而不是getDeclaredFields()
,我需要替换每次出现的getDeclaredFields()
. 对我来说,这听起来不像是好的编程习惯。在我的情况下,这可能不是一个非常现实的场景,但为了感兴趣,我想知道是否有解决这个问题的设计模式或概念。
[编辑]
为了避免额外的误解:循环内的操作取决于 foo1、foo2 等给出的参数。并且这些参数对于每个方法并不总是相同的。我很好地说明了这个事实,sry。我改进了给定的代码以更好地展示它。