Sobes.tech
Junior — Middle

Можете ли објаснити шта представља архитектурски образац MVVM и како се он примењује у развоју интерфејса?

sobes.tech АИ

Одговор од АИ

MVVM (Model-View-ViewModel) — široko korišćen arhitektonski obrazac koji se široko koristi za razvoj korisničkih interfejsa, posebno u aplikacijama sa vezivanjem podataka.

  • Model — sadrži podatke i poslovnu logiku.
  • View — odgovoran za prikaz interfejsa i interakciju sa korisnikom.
  • ViewModel — posrednik između Modela i View-a, sadrži logiku prikaza i stanje interfejsa.

Na iOS-u, MVVM pomaže da se odvoji UI logika od poslovne logike, čime se poboljšava testabilnost i održavanje koda. ViewModel pruža podatke i komande za View, a View se pretplaćuje na promene putem veza ili posmatrača.

Primer (pojednostavljen):

class UserViewModel {
    var userName: String = "" {
        didSet {
            // obavestiti View o promeni
        }
    }
    func fetchUser() {
        // učitavanje podataka iz Modela
        userName = "Ivan"
    }
}

class UserViewController: UIViewController {
    var viewModel = UserViewModel()
    @IBOutlet weak var nameLabel: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()
        viewModel.fetchUser()
        nameLabel.text = viewModel.userName
    }
}

Na ovaj način, MVVM pojednostavljuje upravljanje stanjem UI i odvaja logiku od prikaza.