Sobes.tech
Junior — Middle

Explique o princípio de funcionamento do padrão arquitetónico MVVM e os seus componentes.

sobes.tech IA

Resposta da IA

MVVM (Model-View-ViewModel) — padrão arquitetural que divide a lógica da aplicação em três componentes:

  • Model — modelo de dados e lógica de negócio. Responsável por trabalhar com os dados, por exemplo, carregando-os da rede ou de uma base de dados.

  • View — interface de utilizador, que exibe os dados e recebe ações do utilizador.

  • ViewModel — intermediário entre Model e View. Contém a lógica de apresentação, transforma os dados do modelo num formato adequado para exibição e processa os comandos do utilizador.

Princípio de funcionamento:

  • A View subscreve-se às alterações no ViewModel (por exemplo, através de ligações ou observadores).
  • O ViewModel solicita dados ao Model e atualiza o seu estado.
  • Quando os dados mudam, o ViewModel notifica a View, que atualiza a interface.

Esta separação facilita os testes e a manutenção do código, pois a UI e a lógica de negócio estão separadas.

Exemplo em Swift usando Combine:

class ViewModel: ObservableObject {
    @Published var text: String = ""

    func fetchData() {
        // carregamento de dados e atualização de text
        text = "Dados carregados"
    }
}

// A View subscreve-se às alterações no ViewModel e atualiza a UI automaticamente