我喜欢实现以下场景。 (示例)
我有 3 个类(class):
- Controller
- 苹果
- 汽车
public class Apple implements IBonus {
public String name;
public String weight;
}
public class Car implements IBonus{
public String brand;
public String vmax;
public String power;
}
public class Controller {
public List<String> values;
public void doWork(IBonus bonusObject){
if(bonusObject instanceOf Car){
Car c = (Car)bonusObject;
values.add(c.brand);
values.add(c.vmax);
values.add(c.power);
}
if(bonusObject instanceOf Apple){
Apple a = (Apple)bonusObject;
values.add(a.name);
values.add(a.weight);
}
}
}
现在,我有很多类(class),例如苹果和汽车。并且每个类的某些变量也有可能在不久的将来被更改、添加或删除。 这意味着我总是必须调整 Controller 类中的代码。
有人知道合适的模式吗?
最佳答案
您不需要任何模式。只是普通的旧多态性:
public interface IBonus {
void fillStringList(List<String> values);
}
...
public void doWork(IBonus bonusObject){
bonusObject.fillStringList(values);
}
关于java - 我可以使用哪种设计模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11188169/