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.