Direto ao ponto: padrão de arquitetura MVP

Como parte do meu Programa de Desenvolvimento Individual (IDP), tenho me dedicado a estudar a teoria por trás do conhecimento que adquiri ao longo de minha carreira como desenvolvedor iOS. Em busca de fundamentação teórica, encontrei um livro incrível no LinkedIn, compartilhado por um colega do mesmo grupo de desenvolvedores Swift ao qual pertenço.
Neste artigo, continuo explorando o tópico do artigo publicado anteriormente sobre o padrão de arquitetura MVC. Apesar da semelhança entre os conteúdos, vale a pena conferir para obter uma avaliação detalhada do livro e da minha jornada de aprendizado.
Direto ao ponto: padrão arquitetônico MVCMVP
O padrão Model-View-Presenter (MVP) é um conjunto de três padrões de design que definem claramente o papel de cada componente em um projeto de software. Esses componentes são o Model, a View e o Presenter, e cada um possui regras específicas de uso e contexto para garantir sua exclusividade e funcionalidade dentro do projeto.
O Model é o componente responsável pela lógica de negócio, acesso, manipulação e armazenamento de dados na aplicação. Abrange classes relacionadas à persistência de dados, comunicações de aplicativos e análise de informações externas. É importante destacar que o Model não se comunica diretamente com a View, mas sim através do Presenter.
Na arquitetura Clean, o Modelo pode estar presente em diversas camadas, como Casos de Uso (Domínio), Repositórios (Dados) e Fontes de Dados (Rede e Armazenamento). Em geral, o Model é composto por objetos que realizam parsing de informações, extensões, constantes e classes auxiliares, e esses objetos podem se comunicar entre si.
Por outro lado, a View é formada por componentes de interface visíveis ao usuário, como as classes incluídas na biblioteca UIKit. Ele é responsável por exibir os dados do Model, embora não esteja diretamente conectado a ele (essa conexão é feita pelo Presenter).
O Presenter desempenha o papel de mediar a comunicação entre o Model e o View. Ele recebe e interpreta as ações do usuário na View, realizando as atualizações necessárias no Model. Quando os dados do Model sofrem alterações, o Presenter também atualiza a View de acordo. Essa interação bidirecional entre o Model e a View é um dos principais aspectos do padrão MVP.
Implementação
Após absorver os conhecimentos adquiridos através da leitura do livro recomendado e aplicar as técnicas de desenvolvimento que utilizo em meus projetos, criei um modelo de implementação adequado à minha realidade. Neste artigo, vou compartilhar um exemplo específico de implementação do Presenter, destacando as técnicas e recursos que utilizei.
Obrigado por ler até aqui!
Se você quiser contribuir para que eu continue produzindo mais conteúdo técnico, sinta-se à vontade para me pagar um café ☕️ através da plataforma Buy me a Coffee .
Seu apoio é essencial para manter meu trabalho e contribuir com a comunidade de desenvolvimento.