Quote:
Originariamente inviato da shinya
Leggendo un pò il work in progress sui DSL di Fowler, e cercando di impadronirmi delle tecniche che descrive, ho buttato giù un piccolo DSL per cominciare a gestire le collections standard Java attraverso un'interfaccia cosidetta 'fluent'.
Questo è un esempio di come si potrebbero utilizzare le liste in java:
Codice:
import static it.fluent.builders.ListBuilderHelper.list;
import static java.lang.System.out;
public class FluentTest {
public static void main(String[] args) {
list("I", "can", "has", "cheezburger", "plz", "?")
.shuffle()
.sort()
.reverse()
.println(out);
}
}
Sembra quasi un linguaggio dinamico, e invece è puro Java 100%, con type check a compile time, il framework e tutto quanto.
|
E' uno stile che mi piace moltissimo, perche' comunica molto bene. Quando riesco a modellare qualcosa cosi', lo faccio anche in C++. Il rischio e' farsi prendere un po' la mano e complicarsi la vita.
E' uno strumento, e in certe situazioni funziona molto ma molto bene.