Hexagonal Architecture Flashcards
O que é Hexagonal Architecture?
Hexagonal Architecture é um modelo de arquitetura de software que promove a separação entre a lógica de negócio e as dependências externas através de portas e adaptadores.
Quais são os principais componentes da Hexagonal Architecture?
Os principais componentes são:
- Domínio (Entities)
- Portas (Ports)
- Adaptadores (Adapters)
- Infraestrutura
O que são as entidades na Hexagonal Architecture?
As entidades representam o domínio central da aplicação e contêm as regras de negócio.
public class Cliente { public int Id { get; set; } public string Nome { get; set; } }
O que são as portas na Hexagonal Architecture?
As portas são interfaces que definem as operações disponíveis para os casos de uso e servem como contrato entre o domínio e os adaptadores.
public interface IClienteService { void AdicionarCliente(Cliente cliente); }
O que são os adaptadores na Hexagonal Architecture?
Os adaptadores são implementações concretas das portas que interagem com serviços externos como bancos de dados, APIs e interfaces de usuário.
public class ClienteService : IClienteService { private readonly IClienteRepositorio _repositorio; public ClienteService(IClienteRepositorio repositorio) { _repositorio = repositorio; } public void AdicionarCliente(Cliente cliente) { _repositorio.Adicionar(cliente); } }
Como a Hexagonal Architecture lida com a infraestrutura?
A infraestrutura implementa os adaptadores necessários para conectar o domínio a tecnologias externas, garantindo a flexibilidade do sistema.
public class ClienteRepositorio : IClienteRepositorio { private readonly DbContext _context; public ClienteRepositorio(DbContext context) { _context = context; } public void Adicionar(Cliente cliente) { _context.Clientes.Add(cliente); _context.SaveChanges(); } }