Pregunta de entrevista de BearingPoint

Talk about programming design patterns