Pattern hatching : design patterns applied / - Vlissides, John. (Addison-Wesley,, 1998)