Você está na página 1de 4

Clean Architecture -

Aplicação em Asp.Net MVC


Objetivo
O presente estudo, tem como objetivo levantar requisitos, vantagens, desvantagens e aplicação
da Clean Architecture ou arquitetura limpa, para aplicação em futuros sistemas desenvolvidos
pelo time tambaqui.

Introdução
A Clean Architecture consiste em um diagrama de camadas, em que cada um dos seus
componentes possuem suas próprias responsabilidades e cada uma delas tem conhecimento
apenas de camadas de dentro, basicamente, a Clean Architecture nos ajuda à organizarmos nosso
projeto através de suas responsabilidades, regra de negócio, entidades, etc.

Existem algumas variações na aplicação da Clean Architecture, mas o princípio é sempre o


mesmo, separar responsabilidades e organizar em camadas, podemos ter uma visualização dela
em um diagrama como na figura 1.

Figura 1: Exemplo de

diagrama de Clean Architecture

Podemos ver na figura acima, que existe uma organização em camadas da aplicação, com suas
respectivas funções exemplificadas na figura 2 e que serão descritas abaixo:
Figura 2: Asp.Net Core Clean Architecture

1. User Interface - É onde fica a visualização do seu sistema, o UI assim dizendo, ali é
onde temos Controllers, Viewmodels, Views e outros tipos de filtros e validações.
2. Infraestructure - É onde temos a conexão com o banco de dados, os repositórios,
serviços de caching, de email,etc.
3. Core - É onde fica nossa regra de negócio, as interfaces relacionadas aos repositórios,
objetos de valor, nossas entidades, enumeradores, DTOs, serviços relacionados ao
domínio

Vantagens
Existem inúmeras vantagens de se usar a arquitetura limpa em um projeto Asp.Net Core e em
qualquer outro para melhorar seu entendimento e organização como por exemplo:

O código é facilmente testável;


Componentes ainda mais desacoplados, a estrutura do pacote é facilmente de se
navegar entre eles;
Novas funcionalidades podem ser adicionadas rapidamente pelo time de
desenvolvedores;
Mantem o código livre de dependências do projeto;

Desvantagens
Existem algumas desvantagens importantes à serem levantadas como:

Curva de aprendizado relativamente íngreme, considerando que todas as camadas


funcionam juntas, exigindo um certo tempo para entender seus conceitos;
Não é ideal para projetos de baixa complexidade, visto que, sua arquitetura exige o
acréscimo de muitas classes adicionais;

Conclusão
Após um estudo sobre a Clean Architecture, pode-se concluir que, apesar de suas desvantagens
serem relevantes, visto que, depende de um bom alinhamento entre os integrantes do time, as
suas vantagens são muito mais notáveis à longo prazo, pois melhora razoavelmente a
manutenção e a adição de incrementos dentro do sistema, além da organização do sistema. 

Gerente de Desenvolvimento
Janderson de Castro Thomaz

Product Owner
Adriano Bonazoni Sol Sol de Oliveira

Scrum Master
Wagner Moreira Melo

Time de Desenvolvimento
Tambaquis

Membros do Time

Adriano Bonazoni Sol Sol de Oliveira

Alan da Silva Souza

Gabriel Santi Binda

Raissa de Sousa Stolduski

Taillon Miguel Gonçalves

Wagner Moreira Melo

Referências
[1] MEDEIROS, Felipe. Clean Architecture: o que é arquitetura limpa e como aplicar no
desenvolvimento de softwares?. o que é arquitetura limpa e como aplicar no desenvolvimento de
softwares?. 2021. Disponível em: https://startecjobs.com/clean-architecture/. Acesso em: 30 ago.
2021.
[2] MICHIURA, Fabio. Clean Architecture com MVVM: o que é, vantagens e como utilizar em
aplicações android. o que é, vantagens e como utilizar em aplicações Android. 2020. Disponível
em: https://www.objective.com.br/insights/clean-architecture-com-mvvm/. Acesso em: 31 ago.
2021.

[3] MACORATTI, José. ASP .NET Core: clean architecture. Clean Architecture. 2020. Disponível
em: http://www.macoratti.net/20/10/aspc_cleanarq1.htm. Acesso em: 31 ago. 2021.

[4] FELIPE, Luis. Clean Architecture com ASP.NET Core. 2020. Disponível em:
https://www.luisdev.com.br/2020/09/29/clean-architecture-com-asp-net-core-parte-1/. Acesso em:
31 ago. 2021.

Glossário
Clean Architecture  - Nome em inglês para Arquitetura Limpa

User Interface - Interface do usuário do sistema.

Infraestructure - Camada de infraestrutura do sistema.

Core - Camada "núcleo" do sistema.

Asp.Net Core - Tecnologia de desenvolvimento Web baseada em C# e .Net Core

Revision #4
Created 31 August 2021 20:01:00 by Gabriel Santi Binda
Updated 13 January 2022 16:54:55 by Gabriel Santi Binda

Você também pode gostar