Architettura MVVM
MVVM pattern, ViewModel, data binding, separation of concerns, testabilità
1Cos'è un ViewModel nell'architettura MVVM?
Cos'è un ViewModel nell'architettura MVVM?
Risposta
Il ViewModel incapsula la logica di business e gestisce lo stato della vista indipendentemente da UIKit o SwiftUI. Fa da ponte tra i livelli Model e View mantenendo una chiara separazione delle responsabilità. Questa architettura abilita gli unit test e migliora la manutenibilità e la riusabilità del codice.
2Quali sono le responsabilità principali del Model in MVVM?
Quali sono le responsabilità principali del Model in MVVM?
Risposta
Il Model rappresenta i dati e la logica di business dell'applicazione. Definisce le strutture dati, applica le regole di business e rimane indipendente dai livelli View e ViewModel. L'indipendenza del Model dai framework UI garantisce riusabilità e testabilità. Funge da unica fonte di verità per i dati dell'applicazione.
3Qual è il ruolo principale della View in un'architettura MVVM?
Qual è il ruolo principale della View in un'architettura MVVM?
Risposta
La View è responsabile della visualizzazione dei dati e della cattura delle interazioni utente. Deve contenere solo codice di presentazione ed evitare la logica di business. La View si lega al ViewModel tramite data binding per rimanere semplice e testabile. In SwiftUI, usa @ObservedObject o @StateObject per osservare il ViewModel. In UIKit, usa Combine per sottoscrivere i cambiamenti.
Cos'è il data binding nel contesto di MVVM?
Qual è la differenza tra @Published e @ObservedObject in SwiftUI?
+17 domande da colloquio
Altri argomenti di colloquio iOS
Fondamenti di Swift
Fondamenti del linguaggio Swift
Fondamenti di UIKit
Ciclo di vita di UIViewController
UserDefaults & Keychain
Ciclo di vita dell'applicazione
Auto Layout & Constraints
UITableView & UICollectionView
Fondamenti di SwiftUI
Gestione dello stato in SwiftUI
Navigazione SwiftUI
Networking & URLSession
Codable e parsing JSON
Core Data
Programmazione orientata ai protocolli
Notifiche Push
Test unitari & XCTest
Test dell'interfaccia utente
Xcode e sistema di build
Swift Package Manager
Memory Management & ARC
Combine Framework
Concurrency & async/await
iOS Design Patterns
Ottimizzazione delle prestazioni
Sicurezza e crittografia
SwiftUI Advanced
Architettura delle applicazioni iOS
Padroneggia iOS per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis