Olá! Este é um post da seção Coopera Sharp, uma iniciativa do colega Yan Justino que propõe desafios no LinkedIn baseados em códigos com más práticas. Normalmente respondo diretamente pelos comentários mas, desta vez, achei interessante trazer para o blog já que temos uma questão importante de desempenho envolvida. Vamos lá! O Desafio O desafio é otimizar uma query…
we are developers
- Publicou6Artigo(s)
- Visualizados3600Vezes
- Desde2026


Este é mais um post da seção Design e, nele, falaremos sobre um conceito fundamental da programação funcional cada vez mais presente no universo orientado a objetos: imutabilidade. A ideia é trazer as motivações, benefícios, e mostrar como é possível implementá-la usando C#. Vamos lá! O que é imutabilidade Imutabilidade é a característica de uma…

O que é Event Modeling? Event Modeling é uma técnica de design onde eventos são cidadãos primeira classe. Em vez de pensar no sistema a partir de suas entidades, como é ferto usualmente, começa-se pelo fluxo de eventos possíveis na aplicação. A ideia central é que sistemas são, em essência, uma sequência de fatos. Interessante….

O Problema Como é possível ver neste post temos um serviço com diversas dependências injetadas, o que cria o que chamamos de explosão de dependências no construtor (constructor dependency explosion em inglês). Este serviço executa uma série de passos para tornar possível a criação de um pedido. Esta abordagem é ruim porque, além de já…

O que é o MediatR? Antes de adentrarmos a provocação proposta, vamos entender sobre o que estamos falando. O MediatR se propõe a ser uma implementação do padrão Mediator (em inglês) que, basicamente, é um meio de propagar mensagens sem que seu produtor precise conhecer seus consumidores. Além disso, a biblioteca possui uma implementação que…

Structs: Por quê? Vamos recapitular: structs são uma escolha excelente para em cenários onde alocação de memória é uma questão crítica. Por existirem apenas na stack, tendo portanto uma existência efêmera e não sujeita à ação do Garbage Collector, seu uso afeta positivamente o desempenho de uma aplicação, efeito que pode ser constatado no caminho crítico da…
