디자인 패턴

MVC 패턴

언린이 2021. 4. 12. 23:46

일반적인 MVC 패턴

MVC 패턴은 일반적으로 널리 사용되는 패턴 중 하나입니다.

위의 그림은 일반적인 MVC 패턴의 모습인데, Controller가 다리 역할이 되어 View의 입력을 Model에 반영합니다.

그리고 그에 따른 Model의 변화를 Controller가 다시 View에게 전달하여 View를 갱신합니다.

 

역할 및 동작 원리

  • Model
    • 프로그램에서 사용되는 실제 데이터 및 데이터 조작 로직을 처리하는 부분
  • View
    • 사용자에게 제공되어 보여지는 UI
  • Controller
    • 사용자의 입력을 받고 처리하는 부분

1. Controller로 사용자의 입력이 들어옵니다

2. Controller가 Model의 데이터를 업데이트합니다

3. Model은 해당 데이터를 보여줄 View를 선택해서 사용자에게 보여줍니다

 

하지만, 실제 Apple에서의 MVC 패턴의 작동 원리는 다르게 동작합니다.

 

 

Apple에서의 MVC 패턴

위의 그림처럼 Apple에서의 MVC 패턴은 View와 Controller가 강하게 연결되어 있기 때문에 ViewController가 거의 모든 일을 하게 되어있습니다. 그래서 Model만 따로 만들어지게 됩니다.

 

 

MVC 패턴의 장단점

  • 장점
    • 설계가 단순하기 때문에 가장 쉽고 빠르게 개발이 가능합니다
    • Apple에서 MVC를 지향하고 있기 때문에 기본 LifeCycle에 맞는 개발이 가능합니다
  • 단점
    • View와 Model이 서로 의존적입니다
    • Controller의 역할이 방대해져서 모듈화하는 부분이 무의미해질 수 있습니다
    • 대규모 프로젝트에는 방대해지기 때문에 비적합합니다

'디자인 패턴' 카테고리의 다른 글

Clean Swift(VIP) 패턴  (0) 2021.04.13
VIPER 패턴  (0) 2021.04.13
MVVM 패턴  (0) 2021.04.13
MVP 패턴  (0) 2021.04.12