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!
rust cargo builder derive-builder
Commentami!