De Syscalls a Refit: Como as Abstrações Transformam o Desenvolvimento de Software.

Recentemente, construí em um projeto simples em C# com dois componentes: Server: Uma API básica com ASP.NET Core expondo a rota /weatherforecast. Client: Um projeto console onde mostro diferentes formas de fazer requisições HTTP para a API, começando com abordagens mais diretas e evoluindo para abstrações que facilitam o desenvolvimento.

💻 Abordagens que implementei: SysCall (Linux e Windows): Implementações específicas para cada sistema operacional, utilizando chamadas diretas ao kernel para realizar operações de baixo nível. Socket (Classe .NET) TCPClient (Classe .NET) HTTPClient (Classe .NET) RestSharp Refit

A ideia foi mostrar como abstrações ajudam a tornar o código mais limpo e fácil de manter. Cada implementação, desde chamadas de sistema até o uso de bibliotecas como Refit, tem um grau diferente de abstração, o que facilita o desenvolvimento e a reutilização do código.

🔧 Aprendizado: A escolha da abstração certa pode simplificar muito o processo de desenvolvimento e tornar o código mais modular e flexível. No entanto, é sempre bom entender como essas abstrações funcionam por baixo dos panos.

🔗 Confira o código no GitHub.

🔗 Link para a postagem no Linkedin