Usare il pattern Builder in Dart

Mattepuffo's logo
Usare il pattern Builder in Dart

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!


Condividi su Facebook

Commentami!