【发布时间】:2021-05-15 13:20:04
【问题描述】:
private void initialiseVehicle(String vehicleName) {
if (vehicleName == null) {
} else {
switch (vehicleName) {
case "Boat":
vehicle = new Boat("Apollo ");
break;
case "Ship":
vehicle = new Ship("Cruizz");
break;
case "Truck":
vehicle = new Truck("Ford F-650");
break;
case "Motorcycle":
vehicle = new Motorcycle("Suzuki");
break;
case "Bus":
vehicle = new Bus("Aero");
break;
case "Car":
vehicle = new Car("BMW");
break;
case "Bicycle":
vehicle = new Bicycle("A-bike");
break;
case "Helicopter":
vehicle = new Helicopter("Eurocopter");
break;
case "Airplane":
vehicle = new Airplane("BA");
break;
case "Tram":
vehicle = new Tram("EdinburghTram");
break;
case "Train":
vehicle = new Train("Virgin",4);
break;
}
}
}
我已将其从 if-else 语句编辑为 switch,但我试图通过这样做来减少 CBO 指标,并想知道是否有任何方法可以减少这里的耦合,如果需要我可以提供更多信息.
【问题讨论】:
标签: java refactoring loose-coupling