Pregunta de entrevista de Johnson Controls

Explain few design patterns, method extension, dependency injection etc.