Acaba de sair a .Net Magazine número 58. Esta edição sai com um artigo meu na capa, mostrando como montar uma aplicação completa, de ponta a ponta, utilizando ASP.Net MVC, Entity Framework, e baseada em Domain Driven Design (DDD). A aplicação conta com toda a lógica de domínio, além de contato com o banco de dados, ASP.Net Membership (com ASP.net MVC), tratamento de erros e testes unitários. O artigo começa com uma apresentação dos casos de uso e do protótipo, e segue mostrando como resolver cada requerimento apresentado. Como o código ficaria muito extenso, boa parte ficou para download posterior, apresentei somente o essencial para que a mensagem fosse transmitida. E ainda assim o artigo segue com mais de 20 páginas impressas. Há ainda exemplos de aplicação de alguns padrões de arquitetura, como o Registry, e inversão de controle.
O artigo vai ficar como um bom exemplo de como construir uma aplicação baseada em padrões, escalável e de fácil manutenção. Obviamente melhorias seriam bem vindas, mas apresentar toda uma aplicação em uma única edição me obrigou a ser sucinto (o máximo que eu consegui). Eu deixo a diga no artigo, mas uma melhoria que ficaria muito boa seria a utilização de um conteiner de injeção de dependência. A troca do Entity Framework por NHibernate também seria interessante, porque a aplicação possui código de mapeamento entre POCOs e entidades do EF, o que em pouco tempo se transformaria em um inferno para dar manutenção e testar.
Para quem gostou do meu artigo sobre DDD da .Net Magazine 57, acho que este será um bom exemplo prático. Aproveite também para ver o vídeo com a minha apresentação no .Net Architects.
Como sempre, feedbacks são bem vindos. Gostou? Não gostou? Tem uma opinião? Comente!
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.