Предположим, у нас есть класс User, для которого мы хотим иметь Builder моя реализация будет такой:
Код: Выделить всё
public class User
{
private final String name;
private final int age;
private User(Builder builder)
{
this.name = builder.name;
this.age = builder.age;
}
public static class Builder
{
//blah blah
public User build()
{
return new User(this);
}
}
}
Код: Выделить всё
public static Builder builder()
{
return new Builder();
}
Код: Выделить всё
//Before
User user = new User.Builder()
.named("Tester")
.build();
//After
User user = User.builder()
.named("Tester")
.build();
Подробнее здесь: https://stackoverflow.com/questions/787 ... lder-patte
Мобильная версия