Junior — Middle
Puteți descrie principiul de funcționare și caracteristicile principale ale pattern-ului Builder?
sobes.tech AI
Răspuns de la AI
Modelul Builder este utilizat pentru crearea pas cu pas a obiectelor complexe cu mulți parametri, mai ales atunci când constructorul cu mulți argumente nu este convenabil.
Ideea principală:
- Se creează o clasă separată (Builder) care conține metode pentru setarea parametrilor obiectului.
- Fiecare metodă returnează chiar Builder-ul, ceea ce permite lanțuirea apelurilor.
- La final, se apelează metoda
build(), care creează și returnează obiectul final.
Avantaje:
- Îmbunătățește lizibilitatea codului la crearea obiectelor.
- Permite crearea de obiecte imutabile cu configurații diferite.
- Elimină necesitatea de a avea multiple constructori.
Exemplu în Java:
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 {
private String name;
private int age;
public Builder setName(String name) {
this.name = name;
return this;
}
public Builder setAge(int age) {
this.age = age;
return this;
}
public User build() {
return new User(this);
}
}
}
// Utilizare:
User user = new User.Builder()
.setName("Иван")
.setAge(30)
.build();
Astfel, Builder simplifică crearea obiectelor cu mulți parametri și crește lizibilitatea codului.