可以说我有:
if (count <= instance.getFCount()) {
//do something and return String
} else if (count <= instance.getFSCount()) {
//do something and return String
} else if (count <= instance.getTCount()) {
//do something and return String
} else if (count <= instance.getOCount()) {
//do something and return String
}
我在想如何将这段代码替换为更面向对象的代码。问题是,如果我有这样的声明:
if (count <= 0) {
//do something and return String
} else if (count <= 1) {
//do something and return String
} else if (count <= 2) {
//do something and return String
} else if (count <= 3) {
//do something and return String
}
我可以用一些工厂模式或基于枚举的方法来替换它,因为我的值 0、1、2、3 总是静态的。例如,我将创建一个映射以将类与数字保持一致,然后如果我的计数为 0,我将知道我需要从映射为零的类中创建一个实例,依此类推。
但是现在我在想,如果我在 if 条件中没有静态值,是否有任何方法可以完成,因为例如返回到 this: 的内容instance.getOCount()
可能因配置而异。
你能给我一些想法如何实现这一目标吗?