Sobes.tech
Junior — Middle

Можеш ли да обясниш основните компоненти на архитектурния модел Model-View-Controller?

sobes.tech AI

Отговор от AI

Архитектурният модел Model-View-Controller (MVC) разделя приложението на три основни компонента:

  • Model (Модел): отговаря за данните и бизнес логиката. Моделът съхранява състоянието на приложението и управлява данните, например ги зарежда от база данни или API.

  • View (Изглед): отговаря за показването на данните на потребителя. Изгледът получава данни от модела и ги показва, както и реагира на въвеждането от потребителя.

  • Controller (Контролер): служи като посредник между Модела и Изгледа. Обработва действията на потребителя, актуализира модела и променя изгледа.

В iOS, например, UIViewController често играе ролята на контролер, управлявайки взаимодействието между модела и изгледа.

Пример:

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

class UserView {
    func displayUserName(_ name: String) {
        print("Потребителското име е: \(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)
    }
}

Тази разделяне улеснява поддръжката и разширяването на приложението.