Lógica de negócio vs lógica de aplicação

Olá, pessoal!

Quando começamos a trabalhar com a camada de aplicação, popularizada nos últimos anos pelo Domain-Driven Design, ficam dúvidas sobre sua verdadeira função e sobre qual código devemos colocar nela. Escrevi dois artigos anteriormente que ajudam a elucidar essas questões <<aqui>> e <<aqui>>.

Neste terceiro, mostro uma divisão mais clara entre lógica de negócio e lógica de aplicação e algumas dicas para não confundirmos as duas. Espero que gostem! Continue lendo »

Anúncios

Sobre camadas, cebolas e hexágonos…

Olá, galera

Depois de um longo tempo, é hora de voltar à ativa falando um pouco sobre arquitetura de software. Este artigo ilustra um estilo de arquitetura focado no domínio do software, onde os detalhes (ex.: UI, acesso a dados) dependem do domínio e não o contrário.

Apresentarei dois conceitos exatamente com este enfoque, conhecidos por “Onion Architecture” e “Hexagonal Architecture”, dando minhas considerações sobre eles.

Pela primeira vez, vou usar <outro artigo> como introdução ao meu, pois já ilustra bem o que eu queria dizer no início deste. Leia-o primeiro e retorne aqui pra continuarmos. É bem curtinho!

Artigo lido? Certeza? Então, vamos em frente… Continue lendo »

View model, domain model, qual model?

Fala, galera

Um dos grandes problemas conceituais ao trabalhar com ASP.NET MVC está na letra “M” de MVC.

A criação de um projeto no Visual Studio do tipo ASP.NET MVC não induz a boas práticas. Temos apenas uma pasta “Models” criada dentro do próprio projeto. Nada de uma sugestão de o que seria o tal “M”.

De fato, o termo “Model” é bastante abrangente e, dependendo do contexto, pode ter um significado diferente. (Outro exemplo é o termo “Serviço”.) Continue lendo »