在 Java 中的另一个构建器中使用构建器是一个好习惯,还是最好向“更高”级别的构建器添加方法以在幕后创建对象?
new Car.CarBuilder().engine(new Engine.EngineBuilder().name("Diesel").weight(5).build()).build();
最佳答案
在另一个构建中重用构建器逻辑很好,正如 Andy Turner 在其评论中所述:您不想重复代码。
但以这种方式执行链接确实不可读:
Car car = new Car.CarBuilder().engine(new Engine.EngineBuilder().name("Diesel").weight(5).build()).build();
您可以采用不同的格式,但它仍然无法直接理解:
Car car =
new Car.CarBuilder().engine(new Engine.EngineBuilder().name("Diesel").weight(5).build())
.build();
在局部变量中提取 Engine
实例看起来确实更加清晰:
Engine engine = new Engine.EngineBuilder().name("Diesel").weight(5).build();
Car car = new Car.CarBuilder().engine(engine).build();
关于java - 在 Java 中的另一个构建器中使用构建器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52282712/