Junior — Middle
Vai vari sniegt piemēru, kā realizēt fabrika metodes modeli kodā?
sobes.tech AI
Atbilde no AI
Fabrikas metodes paraugs ļauj izveidot objektus, nenorādot konkrētu izveidotā objekta klasi. Flutter tas ir ērti, lai izveidotu dažādas loģikas widgetus.
Dart piemērs:
abstract class Button {
void render();
}
class AndroidButton implements Button {
@override
void render() {
print('Android stila pogas renderēšana');
}
}
class IOSButton implements Button {
@override
void render() {
print('iOS stila pogas renderēšana');
}
}
abstract class Dialog {
Button createButton();
void render() {
Button button = createButton();
button.render();
}
}
class AndroidDialog extends Dialog {
@override
Button createButton() => AndroidButton();
}
class IOSDialog extends Dialog {
@override
Button createButton() => IOSButton();
}
void main() {
Dialog dialog;
// Atkarībā no platformas, izveidojam nepieciešamo dialogu
bool isAndroid = true;
if (isAndroid) {
dialog = AndroidDialog();
} else {
dialog = IOSDialog();
}
dialog.render();
}
Šajā piemērā fabrikas metode createButton ļauj apakšklasēm izveidot dažādu tipu pogu objektus, un klienta kods strādā ar abstrakcijām.