Sobes.tech
Junior — Middle

Můžeš vysvětlit hlavní komponenty architektonického vzoru Model-View-Controller?

sobes.tech AI

Odpověď od AI

Architektonický vzor Model-View-Controller (MVC) rozděluje aplikaci na tři hlavní komponenty:

  • Model (Model): odpovídá za data a obchodní logiku. Model uchovává stav aplikace a spravuje data, například je načítá z databáze nebo API.

  • View (Zobrazení): odpovídá za zobrazování dat uživateli. View přijímá data z modelu a zobrazuje je, a také reaguje na uživatelský vstup.

  • Controller (Řadič): slouží jako prostředník mezi Modelem a View. Zpracovává akce uživatele, aktualizuje model a mění zobrazení.

V iOS například často hraje roli řadiče UIViewController, který řídí interakci mezi modelem a zobrazením.

Příklad:

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

class UserView {
    func displayUserName(_ name: String) {
        print("Uživatelské jméno 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)
    }
}

Takové rozdělení usnadňuje údržbu a rozšiřování aplikace.