UIKit을 공부하기 위해 MVC패턴 공부를 했다
![](https://velog.velcdn.com/images/changbro/post/bce99ee6-8f53-48d9-a8be-57c08a2b8ba5/image.png)
- Model: 앱의 데이터들을 관리한다
- View: 데이터들의 시각적인 표현을 제공한다
- Controller: Model과 View 사이에서 중간 다리 역할. 적절한 시간에 데이터를 이동시키며 상호작용을 도운다
- Application Delegate는 Object(객체)들의 동작을 담은 메서드나 함수를 담고 있는데 이러한 부분을 뷰와 연결시켜주는 역할을 계속 수행하는 것이 Controller이다
![](https://velog.velcdn.com/images/changbro/post/bd47beed-885b-44db-85ff-c2ab33d143d4/image.jpg)
쉽게 말하면 Model: 무엇을 Controller: 어떻게 View: 보여줄 것인가
이렇게 설계한 이유
- 이렇게 설계하면 View와 Model은 서로 별개의 영역이기 때문에 View나 Model을 따로따로 갈아치우기 편하기 때문이다