Clean Architecture Flashcards
O que é Clean Architecture?
Clean Architecture é um modelo de arquitetura de software que organiza o código em camadas concéntricas para separar responsabilidades e facilitar manutenção e testes.
Quais são as principais camadas da Clean Architecture?
As principais camadas são:
- Entidades (Entities)
- Casos de Uso (Use Cases)
- Interface de Aplicação (Interface Adapters)
- Infraestrutura (Frameworks & Drivers)
O que são as entidades na Clean Architecture?
As entidades são objetos de domínio que representam as regras de negócio independentes de tecnologia ou frameworks.
public class Cliente { public int Id { get; set; } public string Nome { get; set; } }
O que são os casos de uso na Clean Architecture?
Os casos de uso contêm a lógica de aplicação e coordenam a execução das regras de negócio definidas pelas entidades.
public class CriarClienteUseCase { private readonly IClienteRepositorio _repositorio; public CriarClienteUseCase(IClienteRepositorio repositorio) { _repositorio = repositorio; } public void Executar(Cliente cliente) { _repositorio.Adicionar(cliente); } }
Qual é o papel dos adaptadores de interface na Clean Architecture?
Os adaptadores de interface convertem dados entre a camada de casos de uso e o mundo externo, como APIs, UI e bancos de dados.
public class ClienteController { private readonly CriarClienteUseCase _useCase; public ClienteController(CriarClienteUseCase useCase) { _useCase = useCase; } public void Post(Cliente cliente) { _useCase.Executar(cliente); } }
Como a Clean Architecture lida com a infraestrutura?
A infraestrutura fica na camada mais externa e fornece implementações concretas para bancos de dados, frameworks web e outros serviços externos.
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(); } }