Sobes.tech
Junior — Middle

Consegues explicar os componentes principais do padrão arquitetónico Modelo-Visão-Controlador?

sobes.tech IA

Resposta da IA

O padrão arquitetónico Modelo-Visão-Controlador (MVC) divide a aplicação em três componentes principais:

  • Modelo: responsável pelos dados e lógica de negócio. O Modelo armazena o estado da aplicação e gere os dados, por exemplo, carregando-os de uma base de dados ou API.

  • Visão: responsável por mostrar os dados ao utilizador. A Visão recebe dados do Modelo e os apresenta, além de reagir à entrada do utilizador.

  • Controlador: atua como intermediário entre o Modelo e a Visão. Processa as ações do utilizador, atualiza o Modelo e modifica a Visão.

No iOS, por exemplo, UIViewController frequentemente desempenha o papel de controlador, gerindo a interação entre o Modelo e a Visão.

Exemplo:

class UserModel {
    var name: String
    init(name: String) {
        self.name = name
    }
}

class UserView {
    func displayUserName(_ name: String) {
        print("O nome do utilizador é: \(name)")
    }
}

class UserController {
    var model: UserModel
    var view: UserView

    init(model: UserModel, view: UserView) {
        self.model = model
        self.view = view
    }

    func updateUserName(to newName: String) {
        model.name = newName
        view.displayUserName(model.name)
    }
}

Este padrão facilita a manutenção e expansão da aplicação.