Estou na área de desenvolvimento de software há muito tempo e durante esse período todo conheci e convivi com os mais variados tipos de desenvolvedores. Alguns excelentes, outros muito ruins e outro dia me peguei pensando sobre o que faz com que um programador seja bom. Continue reading “4 características de um bom programador”

Problemas com o Lazy Loading no Entity Framework
Alguns tipos de erros que encontramos durante o desenvolvimento de um projeto são irritantes, principalmente aqueles que acontecem “silenciosamente” sem deixar muitas pistas sobre o que está acontecendo. Em geral isso acontece quando o desenvolvedor deixa passar alguma regra de maneira despercebida e acaba correndo atrás do próprio rabo. Continue reading “Problemas com o Lazy Loading no Entity Framework”

Value Objects e erro ao configurar chaves estrangeiras no Entity Framework
No post anterior falei sobre resolver o conflito de configurações ao se usar Value Objects (VO) junto com o Entity Framework e hoje vou falar sobre o como configurar chaves estrangeiras quando usamos VO. Continue reading “Value Objects e erro ao configurar chaves estrangeiras no Entity Framework”

Value Objects e conflito de configurações no Entity Framework
O uso de Value Objects (VO) na modelagem ajuda a tornar o domínio muito mais robusto por meio do encapsulamento de regras de negócios. Além disso o uso dos VO torna o código muito mais legível, porém seu uso pode reservar algumas surpresas quando for utilizado em conjunto com o Entity Framework, por exemplo. Continue reading “Value Objects e conflito de configurações no Entity Framework”

Protegendo as regras de negócio com métodos de extensão em C#
Ultimamente estou obcecado em isolar o máximo possível das regras de negócio dentro da camada de domínio. Os anos de desenvolvimento de sistemas data centric com regras de negócios espalhadas pelo código deixaram lembranças ruins e imaginar a possibilidade de perder o controle das regras de negócio não é uma coisa boa. Continue reading “Protegendo as regras de negócio com métodos de extensão em C#”