Sobes.tech
Junior — Middle

შეგიძლიათ ახსნათ მოდელი-ნახვა-კონტროლერის არქიტექტურული ნიმუშის ძირითადი კომპონენტები?

sobes.tech AI

პასუხი AI-სგან

მოდელი-ვიუ-კონტროლერი (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)
    }
}

ასეთი განლაგება ადვილად უწყობს ხელს აპლიკაციის შენარჩუნებას და გაფართოებას.