Sobes.tech
Junior — Middle

Poți explica componentele principale ale modelului arhitectural Model-View-Controller?

sobes.tech AI

Răspuns de la AI

Model-View-Controller (MVC) este un pattern arhitectural care împarte aplicația în trei componente principale:

  • Model (Modelul): răspunde pentru date și logica de business. Modelul păstrează starea aplicației și gestionează datele, de exemplu, le încarcă dintr-o bază de date sau API.

  • View (Vederea): răspunde pentru afișarea datelor către utilizator. Vederea primește date din model și le afișează, precum și răspunde la input-ul utilizatorului.

  • Controller (Controlerul): servește ca intermediar între Model și View. Procesează acțiunile utilizatorului, actualizează modelul și modifică vederea.

În iOS, de exemplu, UIViewController joacă adesea rolul de controler, gestionând interacțiunea dintre model și vedere.

Exemplu:

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

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

Această divizare facilitează întreținerea și extinderea aplicației.