Sobes.tech
Junior — Middle

Можеш ли објаснити главне компоненте архитектонског узорка Model-View-Controller?

sobes.tech АИ

Одговор од АИ

Arhitekturalni obrazac Model-View-Controller (MVC) deli aplikaciju na tri glavne komponente:

  • Model (Model): odgovoran za podatke i poslovnu logiku. Model čuva stanje aplikacije i upravlja podacima, na primer, učitava ih iz baze podataka ili API-ja.

  • View (Prikaz): odgovoran za prikazivanje podataka korisniku. Prikaz prima podatke od modela i ih prikazuje, kao i reaguje na unos korisnika.

  • Controller (Kontroler): služi kao posrednik između Modela i Prikaza. Obradjuje akcije korisnika, ažurira model i menja prikaz.

Na primer, u iOS-u, UIViewController često igra ulogu kontrolera, upravljajući interakcijom između modela i prikaza.

Primer:

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

class UserView {
    func displayUserName(_ name: String) {
        print("Korisničko ime je: \(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)
    }
}

Takav odvajanje olakšava održavanje i proširenje aplikacije.