如何动态处理java对象?

时间:2017-06-21 09:50:31

标签: java object design-patterns dynamic java-8

如果我们有父类Vehicle及其子类为Bus,BiCycle,MotorBike。

在服务类的某个时间点,我将获得列表车辆等所有对象。

我的业务逻辑应如下所示, 将收到故障车辆清单,并且对于每种车型,应分配相应的机械装置。

如果我收到自行车,应该去自行车技工或其他车辆以及他们各自的机械师。

当我用来切换case和if else条件时看起来很糟糕。所以我试图使用Visitor模式和Factory模式,Factory模式也会使用switch或if-else条件来动态获取对象并调用被覆盖的方法。目前使用访客模式。

请提出一些可以更好地处理此案例的方法。

2 个答案:

答案 0 :(得分:0)

sendToMechanic类中定义Vehicle抽象方法,并在每个子类中使用适当的定义覆盖它。

答案 1 :(得分:0)

我建议所有三个子类用`allocateToMechanic这样的方法实现相同的接口(例如repairable)。界面主要描述" 对象可以做什么" vs抽象类描述" 对象是什么"。