Sobes.tech
Junior — Middle

Kas saaksid selgitada Model-View-Controller arhitektuurimustri põhikomponente?

sobes.tech AI

Vastus AI-lt

Arhitektuurimuster Model-View-Controller (MVC) jagab rakenduse kolmeks põhikomponendiks:

  • Mudel (Model): vastutab andmete ja äriloogika eest. Mudel salvestab rakenduse oleku ja haldab andmeid, näiteks laadib neid andmebaasist või API-st.

  • Vaade (View): vastutab andmete kuvamise eest kasutajale. Vaade saab andmeid mudelilt ja kuvab neid ning reageerib kasutaja sisendile.

  • Kontroller (Controller): toimib vahendajana mudeli ja vaate vahel. Töötleb kasutaja tegevusi, uuendab mudelit ja muudab vaadet.

Näide: iOS-is mängib UIViewController sageli kontrollori rolli, hallates mudeli ja vaate vahelist suhtlust.

Näide:

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

class UserView {
    func displayUserName(_ name: String) {
        print("Kasutaja nimi on: \(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)
    }
}

Selline jaotus lihtsustab rakenduse hooldust ja laiendamist.