コード内のifステートメントとelseifステートメントが多すぎると、コードの保守と読み取りに問題が発生します。通常、3つ以上のifを切り替えて変更でき、10つ以上をポリモーフィズムまたは一部のデザインパターンに変更できます。以下は私の使用法です。マップとポリモーフィズムの過剰なifステートメントを排除します。
インターフェース:
import java.util.Map;
public interface TableDataServer {
Map<String,Object> getData(Map<String, Object> map);
}
実装インターフェース:
public class Tdb1 implements TableDataServer {
@Override
public Map<String, Object> getData(Map<String, Object> map) {
return null;
}
}
public class Tdb2 implements TableDataServer {
@Override
public Map<String, Object> getData(Map<String, Object> map) {
return null;
}
}
public class Tdb3 implements TableDataServer {
@Override
public Map<String, Object> getData(Map<String, Object> map) {
return null;
}
}
使用した入り口:
private static Map<String, TableDataServer> serverMap = new HashMap<>(8);
//方法
static {
serverMap.put("Tdb1",new Tdb1());
serverMap.put("Tdb2",new Tdb2());
serverMap.put("Tdb3",new Tdb3());
}
public static void main(String[] args) {
String type = "Tdb1"
TableDataServer tableDataServer = serverMap.get(type);
tableDataServer.getData();
}