DDD Sunflower

Quando se começa a estudar algum assunto, e principalmente quando falamos de nossa área de TI, o “estudo orientado a exemplos” é muito forte. Sempre buscamos qual é a maneira que foi feita, para vermos o passo a passo, comparamos com o que já sabemos e, se for o caso, adaptarmos o que já temos à esse novo conhecimento. Depois de algum tempo praticando, passamos a ter um maior conhecimento sobre esse novo assunto e passamos a arriscar modificações para customizar o procedimento aprendido à nossa realidade.

Acredito que esse cenário descrito seja familiar para todos, pois é um caminho natural de pesquisar e absorver conhecimento e agilizar aprendizado. Claro que buscar estudar, mesmo, sobre o conceito, e não apenas estudar baseado em exemplo, é fundamental, senão pode-se vira o que chamamos de Programador de Busca, pois só consegue gerar código se tiver um exemplo na web a seguir.

Desde que comecei minha reciclagem, em 2012, e parei com projetos ASP.NET WebForms e migrei para ASP.NET MVC, sempre senti que o que eu fazia não era o ideal. Funcionava, mas batia um feeling que dava para fazer melhor. Com isso eu sempre lia muitos artigos, via muitos vídeos no YouTube e fiz alguns cursos com personagens que são referências na área de desenvolvimento web e arquitetura de software com tecnologias Microsoft (aka MVP ASP.NET/IIS).

Recentemente já me sentindo mais à vontade com as novas tecnologias e patterns, resolvi usar o que aprendi até o momentos para criar um modelo de arquitetura para que outros desenvolvedores possam estudar e se basear para criar seus próprios projetos.

Implementando DDD, TDD, SOLIC, DI, IOC

Usei o famoso projeto MVC Musica Store, publicado pela própria Microsoft no GitHub, para implementar esses patterns. Assim, quando a Microsoft atualizar este modelo, eu vou, na medida do possível, atualizar esse meu modelo na mesma velocidade. Neste modelo, será implementado os seguintes patterns de arquitetura:

  • DDD – Domain Driven Design
  • TDD – Test Drive Design
  • SOLID – OOP Principles
  • DI – Dependency Injection
  • IOC – Inversion of Control
  • Cross Cutting
  • Self Validation Domain

Mais patterns serão implementados de acordo com o que eu for estudando ou de acordo com a colaboração da comunidade. Então, sinta-se convidado a implementar mais recursos. Neste projeto também faço uso das seguintes ferramentas:

  • ASP.NET MVC 5
  • Entity Framework 6
  • AutoMapper
  • Dapper
  • Service Locator
  • Ninject

Importante reforçar que não utilizo WebAPI, pois o projeto original também não utiliza, e a ideia inicial é de apenas implementar os patterns acima.

Links do Projeto

Colaboradores e Influenciadores

Cursos Recomendados


55 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *