java - 我可以使用哪种设计模式?

标签 java design-patterns

我喜欢实现以下场景。 (示例)

我有 3 个类(class):

  1. Controller
  2. 苹果
  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);
       }
    }
}

现在,我有很多类(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/

相关文章:

asp.net - 面向方面的开发/编程资源

java - 如何在 fragment View 上调用 onClick 事件

java.io.EOFException : No content to map to Object due to end of input Spring MVC Jackson Processor

java - 什么java设计模式可以避免强制转换数据实体

java - 寻求更好的设计以使用java进行多调度

design-patterns - 可选但必需变量的干净解决方案

java - 使用共享首选项来保存一些整数

java - 在 tomcat 7 中配置虚拟主机的问题

java - Spring-Data-Jpa Repository - 实体列名上的下划线

C# 状态模式和事件