Guia de Linguagem

Padrões de projeto e arquitetura em .NET


Neste guia de consulta você encontrará diversos conteúdos sobre padrões de projeto e arquitetura e como aplicá-los em suas aplicações .NET, tais como os padrões GoF e Domain-Driven Design.

Introdução

Padrões de Projeto são soluções catalogadas para problemas/situações comuns do desenvolvimento de software. Baseados em experiências prévias, os padrões definem como partes do software devem ser definidas a fim de resolver certos problemas ou de evitá-los.

O curso abaixo é um excelente ponto de partida para você que deseja aprender sobre os principais padrões empregados atualmente:

Já os artigos abaixo mostram como aplicar os padrões mais adequados em projetos ASP.NET e na camada de negócios das suas aplicações:

Padrões GoF

GoF, sigla de Gang of Four, é o nome dado ao conjunto de padrões especificados por um grupo de quatro engenheiros de software e publicados no livro Padrões de Projeto: Soluções Reutilizáveis de Software Orientado a Objetos. Ao todo são 23 padrões divididos em três categorias, que você pode conhecer melhor nos artigos abaixo:

Padrões criacionais

Os padrões criacionais, como o nome sugere, tratam da forma como os objetos são criados no software, o que pode envolver técnicas específicas para cada situação. Veja na prática como utilizá-los em C#:

Padrões estruturais

Os padrões estruturais tratam da forma como os objetos se relacionam, promovendo o baixo acoplamento e flexibilidade na estrutura do projeto:

Padrões comportamentais

Os padrões comportamentais organizam a forma como os objetos funcionam, suas responsabilidades e como eles se comunicam dentro de um contexto:

Outros padrões

Os padrões de projeto não se resumem àqueles documentados no livro da GoF. Existem vários outros que se propõem a atender diferentes situações, mas sempre pensando na qualidade do código.

Abaixo você encontra artigos que lhe apresentarão alguns desses padrões:

Domain-Driven Design

Domain-Driven Design, ou DDD, é uma metodoogia/abordagem que guia o desenvolvimento da aplicação a partir do seu domínio. Ou seja, ao invés de partir das características dos frameworks ou banco de dados que serão utilizados, o DDD propõe que o desenvolvimento se concentre no domínio do problema que o software pretende resolver e, a partir disso, defina os próximos passos.

Documentado inicialmente no livro Domain-Driven Design: Atacando As Complexidades No Coração do Software de Eric Evans, o DDD define diversos termos e sugestões de arquitetura para a criação de aplicações com domínio complexo. Se você está tendo o primeiro contato com essa abordagem, consulte os links abaixo:

Já os artigos a seguir trazem um contéudo mais prático sobre a aplicação do DDD em projetos .NET:

E abaixo temos mais alguns conteúdos que abordam boas práticas e técnicas de testes usando o DDD:

Programação reativa

Programação reativa é um paradigma que lida com a contínua mudança de mensagens e suas notificações, permitindo que o desenvolvedor possa lidar com sistemas de mensageria de alta velocidade que manipulam diversos tipos de mensagens. No artigo a seguir você poderá conhecer seus principais conceitos, o manifesto reativo, bem como as formas como a Microsoft abraça o mundo reativo em suas soluções:

Mais sobre .NET

Além dos cursos e artigos sugeridos nesse guia, a DevMedia publica com frequência novos conteúdos sobre .NET, os quais você pode conferir nos Guias de Consulta abaixo:

Além disso, você pode conferir todo o conteúdo de .NET clicando aqui.

Ficou com alguma dúvida?