Conceitos Flashcards
Como você explicaria delegates a um novo desenvolvedor Swift?
É um padrão de projetos que permite que uma classe entregue algumas responsabilidades para uma instância de outra classe.
Qual é a diferença entre class e struct?
A principal diferença é que a class é tipo referência isto é seus valores são passados por referência para o mesmo espaço de memória, se uma instância for alterada as demais vão ser alteradas também, já a struct é a tipo valor, ou seja, seus valores são copiados para um novo espaço de memória, dessa forma cada cópia é um objeto único não afetando as demais instancias
Explique o acrônimo VIPER. Começando pelo “V”
View: é responsável pela interface do usuário e atualiza e mostra o que a presenter demanda
Explique o acrônimo VIPER. Começando pelo “I”
Interactor: é responsável por conter a lógica de negócio relacionadas as entidades ou networking, como criar uma nova instância das entidades ou buscá-las do servidor para esses propósitos pôde-se usar camadas de manager e services os quais não são consideradas partes do viper. O interactor é independente da Interface do usuário
Explique o acrônimo VIPER. Começando pelo “P”
Presenter: é responsável por apresentar a view e dizer a ela o que fazer, atua como intermediário pegando o dado/ação do usuário do interactor e passando para view
Explique o acrônimo VIPER. Começando por “E”
Entity: model
Explique o acrônimo VIPER. Começando por “R”
Router: contém a lógica de navegação do módulo
Como evolui o fluxo de uma aplicação com a arquitetura viper?
Presenter busca alguns dados do interactor que prepara para apresentação, os usuários usam os dados, interagem com os dados então com base nessa interação o presenter ou vai para o router e exige o reencaminhamento ou volta para o interactor e exige mais dados.