A Clean Architecture é um padrão arquitetural de software baseado no princípio de separação de interesses, onde a aplicação é dividida em diferentes camadas, cada uma com sua preocupação. O objetivo é proporcionar aos desenvolvedores uma forma melhor de organizar o código, separando as regras de negócio, facilitando o desenvolvimento e a manutenção do código.
: The Clean Architecture by Robert C. Martin
-
CleanArch.Domain
- Como esta é a camada central (contém as regras de negócio), o projeto não faz referencia a nenhum outro projeto externo.
-
CleanArch.Application
- Depende de CleanArch.Domain
-
CleanArch.Infra.Data
- Depende de CleanArch.Domain
-
CleanArch.Infra.IoC
- Depende de CleanArch.Domain
- Depende de CleanArch.Application
- Depende de CleanArch.Infra.Data
-
CleanArch.MVC
- Depende de CleanArch.Infra.IoC
Essa aplicação não tem como foco sua apresentação e funcionalidades, mas sim a forma como os projetos foram definidos e como cada um se comunica entre si, seguindo os princípios da Clean Architecture, para fins de aprendizado.
Execute o comando docker compose up --build
e acesse http://localhost:8080
para testar o app.
- Pré-requisitos:
cd CleanArchitecture-Basic/
dotnet build
cd CleanArch/CleanArch.MVC
dotnet run
Pode ser necessário permitir o uso de HTTPS no ambiente local. Para isso, ative a confiança no cetificado https do dotnet com o seguinte comando:
dotnet dev-certs https --trust
Este projeto foi criado com base no conteúdo do canal do Jose Carlos Macoratti, que forneceu detalhes da construção de cada projeto e como seria a dependencia entre eles.