Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Definir arquitetura #2

Closed
2 tasks done
ericklborges opened this issue Feb 8, 2021 · 2 comments
Closed
2 tasks done

Definir arquitetura #2

ericklborges opened this issue Feb 8, 2021 · 2 comments
Milestone

Comments

@ericklborges
Copy link
Owner

ericklborges commented Feb 8, 2021

  • Arquitetura de desenvolvimento
  • Módulos
@ericklborges ericklborges added this to the Setup milestone Feb 8, 2021
@ericklborges
Copy link
Owner Author

ericklborges commented Feb 8, 2021

Módulos

📱 Aplication (The-Norris)

Módulo onde ficará a implementação das features. Como o app é muito pequeno, eu não vi a necessidade de quebrar a aplicação em módulos divididos por feature.

🛠 AplicationTests (The-NorrisTests)

Testes das regras de negócio da aplicação.

🧰 Network (Client)

Módulo responsável por abstrair comunicação com APIs.

🛠 NetworkTests (ClientTests)

Testes das regras de negócio da comunicação com APIs.

🧰 Interface

Módulo em que ficarão os componentes visuais básicos do aplicativos, assim como cores, fontes utilizadas ao longo da aplicação.

🛠 InterfaceTests

Testes dos comportamentos e layout dos componentes.

@ericklborges
Copy link
Owner Author

🏗 Arquitetura

Principal

A arquitetura do aplicativo será MVVM, com a possibilidade da adição de uma camada de service para descarregar a ViewModel de regras de negócio relacionadas à consumo de dados e tratamento de erros a API.

Navegação

A navegação será baseada em ChildViewControllers, com o uso de uma camada chamada de "FlowController".

Esta abordagem se assemelha bastante ao Coordinator, porém com a stack de "ChildCoordinators" toma proveito do próprio ciclo de vida das UIViewControllers como uso de ChildViewControllers, o que trás vantagens uma grande vantagem durante a inicialização e finalização de fluxos.

Além disso eu também usarei uma implementação de uma "controller base" chamda StateViewController para abstrair os principais estados de um tela, também fazendo uso de ChildViewControllers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant