我有一个.NET库我必须进化。
它有一些返回枚举作为响应的方法。 例如:
//v1.0
public enum Vehicle
{
Truck,
Mini,
Superbike
}
public Vehicle getCar(){
...
return Vehicle.XXX;
}
在2.0版本中,我想定义更多的车辆,所以它就是这样的:
//v 2.0
public enum Vehicle
{
Truck,
Mini,
Superbike,
WaterBike
}
public Vehicle getCar(){
...
return Vehicle.XXX;
}
许多其他应用程序正在使用此库,因此我不想向后破坏兼容性。 我需要在所有应用程序中将库从1.0迁移(仅更换)到2.0而不会破坏任何内容。考虑到将在getCar()方法中返回一个新类型,应用程序中的旧代码将无法理解。
您如何建议进化图书馆?这是一个设计问题。
答案 0 :(得分:0)
旧代码不必理解新的Enum类型。
如果旧代码检查卡车的枚举类型并获得WaterBike,那么它就不会对它采取行动,就像它获得Mini一样。