Junior — Middle
Builder dizayn shablonining konseptini va uning afzalliklarini tushuntirib bera olasizmi?
sobes.tech AI
AIdan javob
Tuzilma dizayn modeli Builder, murakkab obyektlarni bosqichma-bosqich yaratish uchun ishlatiladi. U obyektni qurish jarayonini uning tasviridan ajratadi va bir xil jarayon yordamida obyektning turli variantlarini yaratishga imkon beradi.
Afzalliklar:
- Ko'p parametrli obyektlarni yaratishga imkon beradi, bu esa katta argumentlar bilan konstruktorlardan qochishga yordam beradi.
- Kodning o'qilishi va qo'llab-quvvatlanishini yaxshilaydi.
- Bir xil qurilish kodidan foydalanib, obyektning turli tasvirlarini yaratishga imkon beradi.
Dart (Flutter) misoli:
class Pizza {
final String dough;
final String sauce;
final String topping;
Pizza._builder(PizzaBuilder builder)
: dough = builder.dough,
sauce = builder.sauce,
topping = builder.topping;
}
class PizzaBuilder {
String dough = '';
String sauce = '';
String topping = '';
PizzaBuilder setDough(String dough) {
this.dough = dough;
return this;
}
PizzaBuilder setSauce(String sauce) {
this.sauce = sauce;
return this;
}
PizzaBuilder setTopping(String topping) {
this.topping = topping;
return this;
}
Pizza build() {
return Pizza._builder(this);
}
}
void main() {
var pizza = PizzaBuilder()
.setDough('Thin crust')
.setSauce('Tomato')
.setTopping('Cheese')
.build();
}