O objetivo é mostrar que podemos adequar qualquer design de software mantendo seus princípios para chegar em uma solução que possa ser adequada para cada tipo de problema Assim como outras filosofias de design de software, a arquitetura limpa tenta fornecer uma metodologia a ser usada na codificaçção, para facilitar, permitir melhor manutenção, melhor atualizações e menos dependências.
O projeto segue organizado nas seguintes camadas:
- Application: Contém os casos de uso da aplicação.
- Domain: Camada central que contém as entidades e regras de negócio.
- Infra.Data: Responsável pela implementação concreta dos detalhes de persistência (banco de dados, por exemplo).
- Infra.IoC: Gerencia a Injeção de Dependência e a configuração de IoC (Inversion of Control).
- Mvc: Camada de Interface do Usuário (UI) usando o padrão MVC.
As dependências e requisitos necessárias para o projeto são:
- .NET Core SDK
- SQL Server
- Entity Framework
dotnet run
