Usare il builder pattern in Rust con derive-builder

Mattepuffo's logo
Usare il builder pattern in Rust con derive-builder

Usare il builder pattern in Rust con derive-builder

typed-builder è una delle librerie che ci permette di implementare il builder pattern in Rust.

Tra quelle provate è quella che mi è piaciuta di meno, ma per dover di cronaca, l'ho comunque testata.

Per installarla possiamo aggiungere questa dipendenza al Cargo.toml:

[dependencies]
derive_builder = "0.12.0"

Questo il codice di esempio:

#[macro_use]
extern crate derive_builder;

#[derive(Default, Builder, Debug)]
#[builder(setter(into))]
struct Test {
    par_1: String,
    par_2: i32,
}

fn main() {
    let test = TestBuilder::default()
        .par_1("CIAO")
        .par_2(13)
        .build()
        .unwrap();
    println!("{:?} - {:?}", test.par_1, test.par_2);
}

Come potete vedere, noi non abbiamo nessuna implementazione di TestBuilder.

La libreria genera da solo il codice a compile-time.

Enjoy!


Condividi

Commentami!