使用Java实现建造者模式

49 阅读1分钟

 这是模式使用lambok插件即可,不需要自己实现,在实体类添加@Builder注解即可,代码示例:

@Builder
public class Rocket {

    private String name;

    private Engine engine;

    @Override
    public String toString() {
        return "Rocket{" +
                "name='" + name + ''' +
                ", engine=" + engine +
                '}';
    }
}

@Builder
public class Engine {

    private String name;

    @Override
    public String toString() {
        return "Engine{" +
                "name='" + name + ''' +
                '}';
    }
}

public class Demo {
    public static void main(String[] args) {

        Rocket rocket = Rocket.builder()
                .name("火箭")
                .engine(Engine.builder()
                        .name("发动机")
                        .build())
                .build();

        System.out.println(rocket);
    }
}