Usare il pattern Builder in Dart
Il pattern Builder è uno dei pattern "fondamentali", utilizzato in alternativa all'utilizzo dei costruttori in overloading.
L'obiettivo è quello di rimpiazzare costruttori poco leggibili e poco flessibili, con classi che siano pronte a creare oggetti più complessi.
In questo articolo ne vediamo un esempio in Dart.
Cominciamo con le due classi:
class Libro {
String _titolo = "";
double _prezzo = 0.0;
Libro(LibroBuilder builder) {
_titolo = builder.titolo;
_prezzo = builder.prezzo;
}
@override
String toString() {
return "Il libro $_titolo costa $_prezzo €";
}
}
class LibroBuilder {
late String _titolo;
late double _prezzo;
String get titolo => _titolo;
set titolo(String titolo) {
_titolo = titolo;
}
double get prezzo => _prezzo;
set prezzo(double prezzo) {
_prezzo = prezzo;
}
Libro build() {
return Libro(this);
}
}
Come vedete sono "collegate".
Per usarle:
import 'libro_builder.dart';
void main() {
var libroBuilder = LibroBuilder();
libroBuilder.titolo = "IT";
libroBuilder.prezzo = 23.99;
var libro = Libro(libroBuilder);
print(libro.toString());
}
Enjoy!
dart builder
Commentami!