Kiến trúc MVVM
MVVM pattern, ViewModel, data binding, separation of concerns, khả năng kiểm thử
1ViewModel trong kiến trúc MVVM là gì?
ViewModel trong kiến trúc MVVM là gì?
Câu trả lời
ViewModel đóng gói logic nghiệp vụ và quản lý trạng thái view một cách độc lập với UIKit hoặc SwiftUI. Nó làm cầu nối giữa các lớp Model và View đồng thời duy trì sự phân tách trách nhiệm rõ ràng. Kiến trúc này cho phép unit testing và cải thiện khả năng bảo trì cũng như tái sử dụng mã.
2Trách nhiệm chính của Model trong MVVM là gì?
Trách nhiệm chính của Model trong MVVM là gì?
Câu trả lời
Model đại diện cho dữ liệu và logic nghiệp vụ của ứng dụng. Nó định nghĩa các cấu trúc dữ liệu, thực thi các quy tắc nghiệp vụ và độc lập với các lớp View và ViewModel. Sự độc lập của Model với framework UI đảm bảo khả năng tái sử dụng và kiểm thử. Nó đóng vai trò là nguồn chân lý duy nhất cho dữ liệu ứng dụng.
3Vai trò chính của View trong kiến trúc MVVM là gì?
Vai trò chính của View trong kiến trúc MVVM là gì?
Câu trả lời
View chịu trách nhiệm hiển thị dữ liệu và ghi nhận tương tác người dùng. Nó chỉ nên chứa mã trình bày và tránh logic nghiệp vụ. View liên kết với ViewModel thông qua data binding để giữ đơn giản và có thể kiểm thử. Trong SwiftUI, dùng @ObservedObject hoặc @StateObject để quan sát ViewModel. Trong UIKit, dùng Combine để đăng ký các thay đổi.
Data binding trong ngữ cảnh MVVM là gì?
Sự khác biệt giữa @Published và @ObservedObject trong SwiftUI là gì?
+17 câu hỏi phỏng vấn
Các chủ đề phỏng vấn iOS khác
Kiến thức cơ bản về Swift
Kiến thức cơ bản về ngôn ngữ Swift
Kiến thức cơ bản về UIKit
Vòng đời UIViewController
UserDefaults & Keychain
Vòng đời của ứng dụng
Auto Layout & Constraints
UITableView & UICollectionView
Kiến thức cơ bản về SwiftUI
Quản lý trạng thái SwiftUI
Điều hướng SwiftUI
Networking & URLSession
Codable & Phân tích JSON
Core Data
Lập trình hướng giao thức
Thông báo Push
Unit Testing & XCTest
Kiểm thử giao diện người dùng
Xcode & Hệ thống Build
Swift Package Manager
Memory Management & ARC
Combine Framework
Concurrency & async/await
iOS Design Patterns
Tối ưu hóa hiệu suất
Bảo mật và mã hóa
SwiftUI Advanced
Kiến trúc ứng dụng iOS
Nắm vững iOS cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí