Sobes.tech
Junior — Middle

Puoi spiegare i componenti principali del pattern architetturale Model-View-Controller?

sobes.tech AI

Risposta dell'AI

Il pattern architetturale Model-View-Controller (MVC) divide l'applicazione in tre componenti principali:

  • Model (Modello): responsabile dei dati e della logica di business. Il modello memorizza lo stato dell'applicazione e gestisce i dati, ad esempio caricandoli da un database o API.

  • View (Vista): responsabile della visualizzazione dei dati all'utente. La vista riceve i dati dal modello e li mostra, oltre a reagire all'input dell'utente.

  • Controller (Controllore): funge da intermediario tra Model e View. Gestisce le azioni dell'utente, aggiorna il modello e modifica la vista.

In iOS, ad esempio, UIViewController spesso svolge il ruolo di controllore, gestendo l'interazione tra modello e vista.

Esempio:

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

class UserView {
    func displayUserName(_ name: String) {
        print("Nome utente: \(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)
    }
}

Tale separazione semplifica la manutenzione e l'espansione dell'applicazione.