我正在处理一个并行继承层次结构,我对一步一步重构有一个想法,并希望看到它是否可行,或者是否有更好的方法来实现它。并行继承层次结构重构
创建实现所需的如
CarHandler
儿童vwHandler
,fordHandler
具体行为的孩子Handler类,bmwHandler
添加调用所有组件和重组它让孩子返回的对象neccessary 。例如呼叫
vwHandler.getDrive
将返回vwDrive.drive
结果,称vwHandler.getSeat
回报vwSeat.seat
)重构的其他类,让他们提供一般的功能,而不是具体的如呼叫
的vwHandler.getDrive
将返回处理器drive(vwSpec1, vwSpec2)
例
public abstract class CarHandler
{
private Car car;
public Car getCar()
{
return car;
}
public Car setCar()
{
car = car;
}
public CarHandler(Car car)
{
this.car = car;
}
public Car getCar()
{
return car;
}
public void setCar(Car car)
{
this.car = car;
}
public void updateCar()
{
Globalizer.updateOnServer(car);
}
public abstract Drive getNewDrive();
public abstract Seat getNewSeat();
}
您能否给我们提供一个例子? – Grooveek
@Grooveek添加了处理程序的例子 – FooBar
甚至在此之前,不同类型的处理程序有不同的行为吗?你确定你不能将它降低到一个标志(一个具有品牌价值的枚举的成员)吗? – Viruzzo