귀염둥이의 메모

[iOS] MVC 디자인 패턴 본문

iOS

[iOS] MVC 디자인 패턴

겸둥이xz 2021. 3. 8. 15:12
반응형

MVC

MVC(Model-View-Controller) 디자인 패턴은 애플리케이션의 객체를 모델, 뷰, 컨트롤러의 세가지 역할 중 하나의 역할로 할당한다.

애플리케이션 내에서 객체가 수행하는 역할 뿐만 아니라 객체가 서로 통신하는 방식을 정의한다.

세 가지 유형의 객체는 각각 추상적인 경계에 의해 다른 객체와 구분되며, 그 경계를 넘어 다른 유형의 객체와 통신한다.

 

  • Model : 데이터 값 변경 및 관리
  • View : 사용자에게 보여지는 화면 담당 (UI)
  • Controller : Model과 View 연결

 

모델 객체(Model Objects)

  • 애플리케이션과 관련된 데이터를 캡슐화하고, 해당 데이터를 조작하고 처리하는 로직과 계산을 정의한다.
  • 모델 객체는 데이터를 사용자에게 제공하거나 사용자가 이를 편집할 수 있는 뷰 객체에 명시적으로 연결되면 안된다.

뷰 객체(View Objects)

  • 애플리케이션 내에서 사용자가 볼 수 있는 객체이다.
  • 애플리케이션의 모델 객체의 데이터를 보여주고 해당 데이터를 편집할 수 있도록 한다.
  • 모델 객체와는 일반적으로 분리된다.

컨트롤러 객체(Controller Objects)

  • 뷰 객체와 모델 객체 사이의 코디네이터 또는 중개자 역할을 한다.
  • 뷰 객체에서 애루어진 사용자 동작을 해석하며, 신규 혹은 변경된 데이터를 모델 객체에 전달함.
  • 애플리케이션의 설정 및 조정 작업을 수행할 수 있음.
  • 다른 객체들의 Life Cycle을 관리하기도 한다.

 

<참고자료>

부스트코스 iOS 앱 프로그래밍 - www.boostcourse.org/mo326/

반응형
Comments