Pergunta de entrevista da empresa Johnson Controls

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