Sobes.tech
Junior — Middle

Tudod magyarázni a Model-View-Controller architektúrális mintázat fő összetevőit?

sobes.tech MI

Válasz az MI-től

A Model-View-Controller (MVC) architekturális minta az alkalmazást három fő összetevőre osztja:

  • Model (Modell): az adatokért és az üzleti logikáért felelős. A modell tárolja az alkalmazás állapotát és kezeli az adatokat, például betölti azokat adatbázisból vagy API-ból.

  • View (Nézet): az adatok megjelenítéséért felelős a felhasználó számára. A nézet adatokat kap a modelltől és megjeleníti azokat, valamint reagál a felhasználói bemenetekre.

  • Controller (Irányító): közvetítő szerepet tölt be a Modell és a Nézet között. Kezeli a felhasználói műveleteket, frissíti a modellt és módosítja a nézetet.

Például iOS-ben a UIViewController gyakran tölti be az irányító szerepét, kezelve a modell és a nézet közötti interakciót.

Példa:

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

class UserView {
    func displayUserName(_ name: String) {
        print("Felhasználói név: \(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)
    }
}

Ez az elkülönítés megkönnyíti az alkalmazás karbantartását és bővítését.