我有以下代码片段
class Vehicle{
public String brand;
public double price;
public int productionYear;
public String toString(String formatType) {
switch(formatType) {
case "JSON": // JSON formatting here
return jsonFormattedString;
break;
case "XML": // XML formatting here
return xmlFormattedString;
break;
default: // default formatting
return defaultFormattedString;
}
}
我认为这种方法的问题是如果行为发生变化(另一种格式类型)需要更改源代码;以及我错过的其他 SOLID 违规行为。
如何更好地实施?