Sobes.tech
Junior — Middle

Môžeš vysvetliť hlavné komponenty architektonického vzoru Model-View-Controller?

sobes.tech AI

Odpoveď od AI

Architektonický vzor Model-View-Controller (MVC) rozdeľuje aplikáciu na tri hlavné komponenty:

  • Model (Model): zodpovedá za údaje a obchodnú logiku. Model uchováva stav aplikácie a spravuje údaje, napríklad ich načítava z databázy alebo API.

  • View (Zobrazenie): zodpovedá za zobrazovanie údajov používateľovi. Zobrazenie prijíma údaje z modelu a ich zobrazuje, a tiež reaguje na vstup používateľa.

  • Controller (Riadič): slúži ako sprostredkovateľ medzi Modelom a Zobrazením. Spracováva akcie používateľa, aktualizuje model a mení zobrazenie.

V iOS, napríklad, UIViewController často hrá úlohu riadiča, ktorý riadi interakciu medzi modelom a zobrazením.

Príklad:

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

class UserView {
    func displayUserName(_ name: String) {
        print("Používateľské meno 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)
    }
}

Takéto rozdelenie uľahčuje údržbu a rozširovanie aplikácie.