Junior — Middle
Můžete vysvětlit, co je architektonický vzor MVVM a jak se používá při vývoji rozhraní?
sobes.tech AI
Odpověď od AI
MVVM (Model-View-ViewModel) — široce používaný architektonický vzor pro vývoj uživatelských rozhraní, zejména v aplikacích s datovým vazbou.
- Model — obsahuje data a obchodní logiku.
- View — odpovídá za zobrazení rozhraní a interakci s uživatelem.
- ViewModel — prostředník mezi Model a View, obsahuje logiku prezentace a stav rozhraní.
Na iOS pomáhá MVVM oddělit logiku UI od obchodní logiky, čímž zlepšuje testovatelnost a údržbu kódu. ViewModel poskytuje data a příkazy pro View, a View se přihlašuje ke změnám přes vazby nebo pozorovatele.
Příklad (zjednodušený):
class UserViewModel {
var userName: String = "" {
didSet {
// oznámení View o změně
}
}
func fetchUser() {
// načtení dat z Modelu
userName = "Ivan"
}
}
class UserViewController: UIViewController {
var viewModel = UserViewModel()
@IBOutlet weak var nameLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
viewModel.fetchUser()
nameLabel.text = viewModel.userName
}
}
Tímto způsobem MVVM zjednodušuje správu stavu UI a odděluje logiku od prezentace.