Sobes.tech
Junior — Middle

გთხოვთ, ახსენით MVVM არქიტექტურული ნიმუშის მუშაობის პრინციპი და მისი კომპონენტები.

sobes.tech AI

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

MVVM (Model-View-ViewModel) — არქიტექტურული ნიმუში, რომელიც აპლიკაციის ლოგიკას სამ კომპონენტად ყოფს:

  • Model — მონაცემთა მოდელი და ბიზნეს ლოგიკა. პასუხისმგებელია მონაცემებთან მუშაობაზე, მაგალითად, ქსელიდან ან ბაზიდან ჩატვირთვაზე.

  • View — მომხმარებლის ინტერფეისი, რომელიც აჩვენებს მონაცემებს და იღებს მომხმარებლის მოქმედებებს.

  • ViewModel — შუამავალი Model-ის და View-ის შორის. შეიცავს წარმოდგენის ლოგიკას, გარდაქმნის მოდელიდან მიღებულ მონაცემებს გამოსახვისთვის სასურველ ფორმატში და მართავს მომხმარებლის ბრძანებებს.

სამუშაო პრინციპი:

  • View ეწერება ViewModel-ის ცვლილებებზე (მაგალითად, ბაიდინგების ან თვალსაზრისით).
  • ViewModel ითხოვს მონაცემებს Model-დან და განაახლებს თავის მდგომარეობას.
  • როდესაც მონაცემები იცვლება, ViewModel აცნობებს View-ს, რომელიც განაახლებს ინტერფეისს.

ეს განყოფილება ამარტივებს კოდის ტესტირებას და შენარჩუნებას, რადგან UI და ბიზნეს ლოგიკა განცალკევებულია.

მაგალითი Swift-ში Combine-ის გამოყენებით:

class ViewModel: ObservableObject {
    @Published var text: String = ""

    func fetchData() {
        // მონაცემების ჩატვირთვა და text-ის განახლება
        text = "მონაცემები ჩატვირთულია"
    }
}

// View ეწერება ცვლილებებზე და ავტომატურად განაახლებს UI-ს