Sobes.tech
Junior — Middle

¿Puedes explicar los componentes principales del patrón arquitectónico Modelo-Vista-Controlador?

sobes.tech AI

Respuesta de la IA

El patrón arquitectónico Modelo-Vista-Controlador (MVC) divide la aplicación en tres componentes principales:

  • Modelo: responsable de los datos y la lógica de negocio. El modelo almacena el estado de la aplicación y gestiona los datos, por ejemplo, cargándolos desde una base de datos o API.

  • Vista: responsable de mostrar los datos al usuario. La vista recibe datos del modelo y los presenta, además de responder a la entrada del usuario.

  • Controlador: actúa como intermediario entre el Modelo y la Vista. Procesa las acciones del usuario, actualiza el modelo y modifica la vista.

En iOS, por ejemplo, UIViewController a menudo desempeña el papel de controlador, gestionando la interacción entre el modelo y la vista.

Ejemplo:

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

class UserView {
    func displayUserName(_ name: String) {
        print("El nombre del usuario es: \(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 enfoque facilita el mantenimiento y la ampliación de la aplicación.