Mat*_*ner 2 java design-patterns
我想实现以下场景.(例)
我有3个类:
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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我有很多像苹果和汽车这样的课程.并且还有可能在不久的将来更改,添加或删除每个类的一些变量.这意味着我总是要调整控制器类中的代码.
有谁知道合适的模式?
你不需要任何模式.只是简单的旧多态:
public interface IBonus {
void fillStringList(List<String> values);
}
...
public void doWork(IBonus bonusObject){
bonusObject.fillStringList(values);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
163 次 |
| 最近记录: |