LINUX.ORG.RU

История изменений

Исправление I60R, (текущая версия) :

Билдер придумали чтобы не писать много конструкторов на всякий случай жизни, например

 
class A {
    public A () { ... }
    public A (A) { ... }
    public A (B) { ... }
    public A (C) { ... }
    public A (A, B) { ... }
    public A (A, C) { ... }
    public A (A, B, C) { ... }
} 
вместо этого используют Builder'ы
    A a = new A.Builder().build();
    A with_A = new A.Builder().with_A(A).build();
    A with_A_and_B = new A.Builder().with_A(A).with_B(B).build();

Исходная версия I60R, :

Билдер придумали чтобы не писать много конструкторов на всякий случай жизни, например

 
class A {
    public A () { ... }
    public A (A) { ... }
    public A (B) { ... }
    public A (C) { ... }
    public A (A, B) { ... }
    public A (A, C) { ... }
    public A (A, B, C) { ... }
} 
вместо этого используют Builder'ы
    A a = new A.Builder().build();
    A with_A = new A.Builder().with_A(A).build();
    A with_A_and_B = new A.Builder().with(A).with(B).build();