是否有任何命名模式用于根据传递的参数组成pojo?

时间:2017-06-26 12:54:02

标签: java design-patterns

我需要一个像工厂一样的方法,根据传递的参数来粉饰同一个对象。像这样:

Car output = CarFactory.getCar(EnumCarType.FAST_CAR)

CarFactory

public static Car getCar(EnumCarType type) {

    Car car= new Car();

    switch (type) {
        case FAST_CAR:
            car.setSpeed(200);
            car.setGears(7);
            ...
            break;
        case SLOW_CAR:
            car.setSpeed(120);
            car.setGears(5);
            ...
            break;
    }

    return car;
}

你可以看到不是一个正确的工厂,因为我只需要返回一种类型的对象,所以我不需要任何抽象。

你能帮我识别正确的模式案例吗?

1 个答案:

答案 0 :(得分:1)

您可以检查构建器模式。用于构建具有各种参数https://en.wikipedia.org/wiki/Builder_pattern

的单一类型的构建器模式