Roel Notebook

[iOS] MVC

by Roel Downey

iOS

728x90
반응형

위키백과의 MVC [위키백과]

Apple MVC [documentation]

 

MVC 패턴

MVC패턴 이란?

  • 소스 코드 설계 기법으로써, Model-View-Controller 로 이어지는 세개의 핵심 구조를 이용하여 애플리케이션을 설계 하는것을 말한다.

  • Model: 모델은 데이터를 담당

  • View: 뷰는 데이터에 대한 화면 표현을 담당

  • Controller: 모델과 뷰사이에 위치하여 데이터를 가공하여, 뷰로 전달하고 뷰에서 발생하는 이벤트를 입력받아 처리하는 역할 담당

 

요약

  • 3가지 요소를 설명하면

    • Model: 무엇을 할지 정의 비지니스 로직에서의 알고리즘, 데이터 등의 기능을 처리
    • Controller는 어떻게 할지를 정의 화면의 처리기능과 Model과 View를 연결시켜주는 역할
    • View는 화면을 보여주는 역할 웹이라면 Web, 모바일이라면 App 화면의 보여지는 부분
  • MVC 문제점:

    복잡한 대규모 프로그램을 개발할때,

    다수의 View와 Model이 Controller를 통해 복잡하게 연결될 수 있기 때문에,

    Controller가 커지게 되는 Massive ViewController(대규모 MVC 어플리케이션) 되어 버림.

    View와 Controller가 라이브사이클에 강하게 연결되어있고,

    더불어 Controller를 통해 View와 Model간에도 관계가 복잡하게 연결되어있어서,

    수정시 테스트가 힘들고, 파악이 어렵기 때문에 여러 Side-Effect를 불러오게 되는 문제점 있다.

    그래서 MVC는 위 문제점을 해결하기 위해 여러 패러다임을 수용한 다양한 패턴을 파생시킴


내 생각 정리

애플의 MVC 패턴은 View와 Controller가 강하게 연결되어 있어 View Controller가 모든 일을 하는것 같다.

 

 

MVC 발표를 하기 위해 만든 자료

728x90
반응형

블로그의 정보

What doing?

Roel Downey

활동하기