Skip to content

Um simples projeto implementando Clean Architecture com tema F1.

Notifications You must be signed in to change notification settings

JoaoWitorFelipe/f1_clean_architecture

Repository files navigation

F1 Clean Architecture

Um projeto utilizando "clean architecture" com tema F1.

Clean Architecture

Camada "Presenter"

Como o nome diz, presenter ou apresentação. Se responsabiliza na parte de:

  • UI;
  • Controller (para gerência de estado, no projeto foi usado MobX, mas pode ser qualquer outro, isso não deve impactar as outras camadas!);
  • Injeção de dependência (utilizado o Flutter Modular, mas pode ser qualquer outro, isso não deve impactar as outras camadas!).

Camada "Domain"

Na camada de domínio, devemos nos preocupar nos comportamentos que o aplicativo irá ter. Por exemplo:

  • Usecases ou casos de uso, classes que irão se responsabilizar por uma única tarefa, tendo em vista responsabilidade única, reutilização e composição;
  • Entidades que definirão propriedades que serão extendidas por classes na próxima camada de datasource;
  • Abstração de repositories (para comunicaçẽos externas, como localstorage ou uma requisição HTTP).

Camada "Data"

Nessa camada, definida como fonte de dados, teremos a seguinte estrutura voltado mais para as implementações das abstrações da camada de "domain":

  • Datasource, caso usamos alguma biblioteca para requisições HTTP ou localstorage, ela deve ser chamada nessa camada, isolando a aplicação das bibliotecas, pensando em cenários que troquemos biblioteca da X para Y, isso impactará apenas a camada de datasource;
  • Model que extende a entidade da camada de domínio, para fazer a tradução dos dados vindo das requisições/localstorage em objetos no datasource;
  • Repositories, implementação das abstrações do domínio que irá chamar o datasoruce, nos repositories iremos lidar com exceptions.

Imagens do projeto

Home

Home

Melhorias

Para qualquer melhoria no código ou correção de algo escrito aqui, sinta-se a vontade para mandar uma PR ou entrar em contato.

About

Um simples projeto implementando Clean Architecture com tema F1.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages