Organizando seu projeto .NET com Arquitetura Hexagonal — Parte 02

  • Recuperação de todos os times de futebol

Show me the Code! 💻

Antes de iniciarmos de fato, vamos definir uma estrutura prévia:

Camada Domain

Nesta camada é onde ficará a declaração das nossas “Portas”/Interfaces (Adapters) de saída para comunicação com o meio externo, além das entidades que representam o nosso negócio e a “porta de entrada” para a regra de negócio especificamente (Services).

Driven Adapters

Neste contexto, teremos duas camadas/projetos. Um representando a comunicação e operações com um banco de dados e outro representando operações de email, como o envio.

Camada Application

Nesta camada é onde ficará as implementações, de fato, das regras de negócio, de acordo com a interface IClubService.

  • Depois disso, recebemos, via construtor, todas as dependências com o mundo externo que necessitamos. No caso as operações com o banco de dados e email.
  • Não utilizamos classes concretas para operar no meio externo, mas sim as Interfaces que, de fato, são as nossas portas.
  • Após termos todas as dependências de que necessitamos, basta realizarmos as regras de negócios devidas

Driving Adapters

São os projetos que irão desencadear alguma ação. Neste caso, temos apenas um único projeto que é a API. E é importante que, para cada projeto desse tipo, adicione-se as dependências das solução, no caso de cada módulo, conforme mostrado abaixo:

--

--

Bachelor in Computer Science, MBA in Software Architecture and .NET Developer.

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store