GOF Patterns examples