, , , . , Builder Pattern :
class Foo {
private final String sample;
private final ObjectMapper objectMapper = new ObjectMapper();
private Foo(String sample, ObjectMapper objectMapper) {
this.sample = sample;
if (objectMapper != null) {
this.objectMapper = objectMapper;
}
}
public static class Builder {
private final String sample;
private final ObjectMapper objectMapper;
public Builder sample(String sample) {
this.sample = sample;
return this;
}
public Builder objectMapper(ObjectMapper objectMapper) {
this.objectMapper = objectMapper;
return this;
}
public Foo build() {
return new Foo(sample, objectMapper);
}
}
}
:
Foo.Builder
.sample(mySample)
.objectMapper(myObjectMapper)
.build()
:
Foo.Builder
.sample(mySample)
.build()
. , , , , , , , , , , .