Acabo de assistir uma conversa com Juval Lowy, que é autor do livro “Programming WCF Services” (o livro de WCF do “peixinho”, mas informações aqui), gravada durante o TechEd americano deste ano, onde ele fala de Interface Based Design. Ele explica algo que muitos ainda não entram ainda em contato: desenvolvimento baseado em abstrações, e porque isso é bom. Ele bate forte no desenvolvimento baseado em classes concretas ou até em classes abstratas, e defende que o uso de interfaces para classes de negócio deve ser generalizado. O vídeo é em inglês, sem legendas. Recomendo assistir.
Isso é um conceito com o qual concordo, mas que acho que deve ser utilizado com cuidado, e não em todo lugar. Bem utilizado é poderosíssimo, e realmente, foram poucas as vezes que o vi utilizado, e das vezes que vi, não foram todos os usos bem direcionados. Um bom uso de interfaces facilita nos testes, desacopla o design, e deixa a aplicação como um todo mais flexível.
E você, tem usado Interfaces no seu dia a dia? O que acha disso?
Giovanni Bassi
Arquiteto e desenvolvedor, agilista, escalador, provocador. É fundador e CSA da Lambda3. Programa porque gosta. Acredita que pessoas autogerenciadas funcionam melhor e por acreditar que heterarquia é mais eficiente que hierarquia. Foi reconhecido Microsoft MVP há mais de dez anos, dos mais de vinte que atua no mercado. Já palestrou sobre .NET, Rust, microsserviços, JavaScript, TypeScript, Ruby, Node.js, Frontend e Backend, Agile, etc, no Brasil, e no exterior. Liderou grupos de usuários em assuntos como arquitetura de software, Docker, e .NET.