MVC (Model-View-Controller) 는 iOS에서 가장 기본적으로 사용되는 아키텍처 패턴으로, 코드의 역할을 세 가지 컴포넌트로 나누어 책임을 분리하고, 유지보수성과 협업 효율을 높이는 데 목적이 있다.
struct User {
let id: Int
let name: String
}
let titleLabel = UILabel()
titleLabel.text = "Hello, MVC"
UIViewController가 Controller의 역할을 수행class UserViewController: UIViewController {
let userModel = User(id: 1, name: "Eden")
override func viewDidLoad() {
super.viewDidLoad()
titleLabel.text = userModel.name
}
}
[User Input] → View → Controller → Model
↓
Business Logic 처리
↓
Controller → View (Update)
MVC는 iOS 개발의 기본이 되는 아키텍처로, 단순한 앱 구조에 매우 적합하다. 하지만 앱의 복잡도가 증가할수록 Controller의 비대화 문제가 발생하므로, 역할 분산 및 다른 아키텍처 패턴과의 조합을 고려하는 것이 바람직하다.