Junior — Middle
Milline on tehismetoodete mallide roll ja rakendus programmeerimises?
sobes.tech AI
Vastus AI-lt
Fabrika meetodi (Factory Method) musterit kasutatakse objektide loomisel ilma konkreetset klassi määramata. See määratleb liidese objekti loomiseks, kuid võimaldab alamklassidel otsustada, millist klassi instantsi luua.
Flutteris (ja üldiselt programmeerimises) kasutatakse fabrika meetodeid järgmistel eesmärkidel:
- Objektide loomise loogika kapseldamine, eriti kui loomine on keeruline või sõltub tingimustest.
- Võimaldada muuta loodava objekti konkreetset klassi ilma koodi muutmata, mis seda kasutab.
- Koodi testimise ja laiendatavuse lihtsustamiseks.
Näide Dart/Flutter:
abstract class Button {
void render();
}
class AndroidButton implements Button {
@override
void render() => print('Android nupu render');
}
class IOSButton implements Button {
@override
void render() => print('iOS nupu render');
}
class Dialog {
Button createButton(String platform) {
if (platform == 'Android') {
return AndroidButton();
} else if (platform == 'iOS') {
return IOSButton();
} else {
throw Exception('Tundmatu platvorm');
}
}
void render() {
Button button = createButton('Android');
button.render();
}
}
Siin on createButton fabrika meetod, mis loob erinevaid objekte sõltuvalt platvormist.