Pattern hatching : design patterns applied - Vlissides, John (Software patterns series, 1998)