Extension Method é um recurso presente desde o C# 3.0 e que facilita bastante o uso do OCP – Open Closed Principle.
Os extension methods permitem que você adicione comportamentos em classes existentes sem precisar modificá-las. Os extension methods são um tipo especial de método estático, porém são chamados como se fossem métodos de instância na classe estendida.
Para o código escrito em .NET não há nenhuma diferença entre chamar um extension method ou os métodos realmente definidos em uma classe.
Como um recurso tão importante como este pode passar desconhecido por diversos desenvolvedores? É por este motivo que escrevi este artigo.
No SOLID os extension methods são perfeitos para aplicar OCP – Open Closed Principle de uma forma muito natural e proporcionando um código de baixo acoplamento.
Caso você não conheça todos os princípios do SOLID assista este tutorial completo.
Para demonstrar mais facilmente como utilizar os extension methods e aplicá-los ao OCP eu gravei um vídeo de 18 minutos onde rapidamente explico tudo.
* Assine meu canal no Youtube 🙂
O código fonte desta solução está disponível no GitHub
Referências
Se você estiver interessado em conhecer mais e aprender como desenvolver aplicações com uma arquitetura responsável utilizando DDD, TDD, BDD, aplicando os princípios SOLID, diversos Design Patterns e escrevendo testes de unidade conheça meus cursos:
Vamos continuar a troca de experiências, deixe seu comentário abaixo, se gostou e concorda com o artigo compartilhe com seus colegas para transmitirmos o conhecimento para o máximo de pessoas possíveis.