iOS/swift

MVC Design pattern

돌맹이시터 2021. 6. 28. 17:32

 

Design pattern에는 여러가지가 있다.

Object Pool, Facade, MVP, Iterator, Singleton, MVC, Memento, MVVM, VIPER 등..

 

사용하려는 목적에 따라 디자인 패턴을 정해서 사용하는데,

그 중 모바일 어플(특히나 애플)을 만들 때

반드시 알아야 하는 디자인 패턴 중의 하나인 MVC design pattern에 대해 정리한다.

 

 

 

MVC (Model-View-Controller)

 

프로젝트를 3개의 메인요소로 나눈다 - model / view / controller

그리고 각 요소들이 함께 작동하도록 한다.

 

Model - 모든 데이터를 처리하는 코드와 로직 부분

View - UI로 이동하고 user interaction을 처리하는 코드

Controller - 모든 것의 중재자

 

 

 

 

1. View -> Controller : sends input events

2. Controller -> Model : makes request

3. Model -> Controller : sends data

4. Controller -> View : takes data - interpret it - send relevant part to View

5. View : modify the User Interface

 

 

 

MVC pattern의 경우 코드를 재사용하고, 구성요소를 분리하여 모듈식으로 만드는 것에 용이하다.

또한 오류를 줄이고 프로그램을 훨씬 이해하기 쉽도록 한다.

Model, View가 분리되어있기 때문에,

추후에 어플을 다른 버전으로 만들 경우 Model만 수정하면 된다. (Controller, View는 손댈 필요가 없다)
(ex: 퀴즈 어플의 경우 각기 다른 분야의 퀴즈를 다룬다던지, 어플을 다른 나라의 언어로 출시한다던지)

 

 

 

 

'iOS > swift' 카테고리의 다른 글

swift - immutability (구조체 안에서)  (0) 2021.07.01
swift - Functions with Output  (0) 2021.06.29
Swift - structure (구조체)  (0) 2021.06.23
swift5 - sound play with simple code  (0) 2021.06.15
Swift - nil & Optional (물음표, 느낌표)  (0) 2021.06.12