# MVVM-architectuur (iOS) > MVVM pattern, ViewModel, data binding, separation of concerns, testbaarheid - 20 gespreksvragen - Mid-Level - [Gespreksvragen: iOS](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen.md) ## 1. Wat is een ViewModel in de MVVM-architectuur? **Antwoord** Het ViewModel kapselt de bedrijfslogica in en beheert de view-status onafhankelijk van UIKit of SwiftUI. Het vormt een brug tussen de Model- en View-lagen met behoud van een duidelijke scheiding van verantwoordelijkheden. Deze architectuur maakt unit testing mogelijk en verbetert de onderhoudbaarheid en herbruikbaarheid van de code. ## 2. Wat zijn de belangrijkste verantwoordelijkheden van het Model in MVVM? **Antwoord** Het Model representeert de gegevens en bedrijfslogica van de applicatie. Het definieert datastructuren, dwingt bedrijfsregels af en blijft onafhankelijk van de View- en ViewModel-lagen. De onafhankelijkheid van het Model van UI-frameworks zorgt voor herbruikbaarheid en testbaarheid. Het dient als de enige bron van waarheid voor applicatiegegevens. ## 3. Wat is de hoofdrol van de View in een MVVM-architectuur? **Antwoord** De View is verantwoordelijk voor het weergeven van gegevens en het vastleggen van gebruikersinteracties. Het moet alleen presentatiecode bevatten en bedrijfslogica vermijden. De View bindt aan het ViewModel via data binding om eenvoudig en testbaar te blijven. Gebruik in SwiftUI @ObservedObject of @StateObject om het ViewModel te observeren. Gebruik in UIKit Combine om je op wijzigingen te abonneren. ## Nog 17 vragen beschikbaar - Wat is data binding in de context van MVVM? - Wat is het verschil tussen @Published en @ObservedObject in SwiftUI? Meld je gratis aan: https://sharpskill.dev/nl/login ## Andere iOS-sollicitatieonderwerpen - [Swift-basisbeginselen](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/swift-basics.md): 25 vragen, Junior - [Essentie van de Swift-taal](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/swift-language-essentials.md): 15 vragen, Junior - [UIKit-grondbeginselen](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/uikit-fundamentals.md): 18 vragen, Junior - [UIViewController-levenscyclus](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/uiviewcontroller-lifecycle.md): 20 vragen, Junior - [UserDefaults & Keychain](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/userdefaults-keychain.md): 20 vragen, Junior - [Levenscyclus van de applicatie](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/app-lifecycle.md): 20 vragen, Junior - [Auto Layout & Constraints](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/auto-layout-constraints.md): 24 vragen, Mid-Level - [UITableView & UICollectionView](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/uitableview-uicollectionview.md): 25 vragen, Mid-Level - [SwiftUI-basis](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/swiftui-basics.md): 18 vragen, Mid-Level - [SwiftUI state-beheer](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/swiftui-state-management.md): 22 vragen, Mid-Level - [SwiftUI-navigatie](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/swiftui-navigation.md): 18 vragen, Mid-Level - [Networking & URLSession](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/networking-urlsession.md): 20 vragen, Mid-Level - [Codable & JSON-parsing](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/codable-json-parsing.md): 20 vragen, Mid-Level - [Core Data](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/core-data.md): 22 vragen, Mid-Level - [Protocolgeoriƫnteerd programmeren](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/protocol-oriented-programming.md): 20 vragen, Mid-Level - [Push-notificaties](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/push-notifications.md): 18 vragen, Mid-Level - [Unit testing & XCTest](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/unit-testing-xctest.md): 20 vragen, Mid-Level - [UI-testen](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/ui-testing.md): 18 vragen, Mid-Level - [Xcode & buildsysteem](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/xcode-build-system.md): 16 vragen, Mid-Level - [Swift Package Manager](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/swift-package-manager.md): 16 vragen, Mid-Level - [Memory Management & ARC](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/memory-management-arc.md): 22 vragen, Senior - [Combine Framework](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/combine-framework.md): 24 vragen, Senior - [Concurrency & async/await](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/concurrency-async-await.md): 26 vragen, Senior - [iOS Design Patterns](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/ios-design-patterns.md): 24 vragen, Senior - [Prestatie-optimalisatie](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/performance-optimization.md): 22 vragen, Senior - [Beveiliging en encryptie](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/security-encryption.md): 20 vragen, Senior - [SwiftUI Advanced](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/swiftui-advanced.md): 22 vragen, Senior - [iOS-applicatiearchitectuur](https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/ios-app-architecture.md): 22 vragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/nl/technologies/ios/sollicitatievragen/mvvm-architecture