Junior — Middle
Կարող եք բացատրել Builder դիզայնի ձևանմուշի կոնցեպցիան և դրա առավելությունը:
sobes.tech AI
Պատասխան AI-ից
Դիզայնի նմուշը Builder օգտագործվում է բարդ օբյեկտների աստիճանաբար ստեղծման համար: Այն բաժանում է օբյեկտի կառուցման գործընթացը նրա ներկայացումից, թույլ տալով օգտագործել նույն գործընթացը տարբեր տարբերակներ ստեղծելու համար:
Առավելություններ՝
- Օգնում է ստեղծել բազմաթիվ պարամետրերով օբյեկտներ, խուսափելով մեծ թվով արգումենտներով կոնստրուկտորներից:
- Կոդի ընթեռնելիությունը և պահպանելիությունը բարելավում է:
- Օգտագործելով նույն կառուցման կոդը, կարելի է ստեղծել տարբեր ներկայացումներ:
Dart (Flutter) օրինակ՝
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();
}