Cloud Native .NET
Arquitetura de Solução sob Containers para Desenvolvedores .NET

Últimos Posts
Agent Skill – O elo que faltava para entregar precisão aos code agents
Você já viu dezenas de vídeos sobre Agent Skills. Leu posts, explorou repositórios, talvez até tenha criado uma ou duas. E mesmo assim, na hora de usar num projeto real, o resultado continua genérico, impreciso, frustrante. O problema não é o conceito. O problema é...
Event-driven Architecture: você está reaproveitando eventos ou mentindo para o seu próprio sistema?
Quantos eventos no seu sistema são emitidos em situações onde o fato que eles representam simplesmente não aconteceu? Um PedidoCriado disparado por uma rotina de correção. Um PagamentoConfirmado emitido por um job de reprocessamento. Um UsuarioCadastrado lançado por...
A corrida dos humanos
Existe uma versão da corrida dos ratos que não vejo ninguém discutindo. Na versão original, a "corrida dos ratos" é um conceito popularizado por Robert Kiyosaki no livro Rich Dad Poor Dad. A metáfora descreve um ciclo em que a pessoa trabalha mais para ganhar mais,...
OA03 – Fazemos o que precisa ser feito e arcamos com as consequências das decisões que tomamos
Seu time quer publicar pacotes NuGet mas não quer manter um NuGet Server. Quer rodar containers mas não quer contratar um Container Registry. Quer processar mensagens assíncronas mas acha que uma tabela com coluna status no PostgreSQL resolve. A pergunta que ninguém...
OA02 – Governança Arquitetural e Open Architecture- Você não pode esperar proatividade, muito menos de quem não tem acesso
As 7 regras que uso para governar componentes arquiteturais em projetos .NET de grande porte — e filtrar quem realmente está pronto para evoluir a arquitetura. Existe uma expectativa velada em muitos times de desenvolvimento: a de que bons desenvolvedores simplesmente...
OA01 – Por mais discriminadores de comportamento e menos enums
Existe um vício oculto em projetos .NET que poucos questionam: usar enums para representar status, tipos e categorias, e depois espalhar if e switch por toda a base de código com base em deduções de regras implícitas. if (grupo.Tipo == TipoGrupo.Administrador) { //...


