私が持っているとしましょう:
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()
構成によって異なる可能性があるためです。
これを達成する方法を教えてください。