MVC Design Pattern

권현석·2022년 12월 13일
0

MVC?

  • model, view, controller 세 부분으로 나누는 구조

model: 데이터, 비지니스 로직 관리

view: 레이아웃과 화면 처리

controller: 명령을 모델과 뷰로 라우팅

*라우팅: 네트워크에서 경로를 선택하는 프로세스, 라우팅은 미리 정해진 규칙에 따라 최상의 경로 선택함

예시) 쇼핑리스트

  • 항목의 이름, 개수, 가격

모델(model)

  • 앱이 포함해야할 데이터 정의함. 데이터 변경 시 모델을 일반적으로 뷰에게 알리고(필요한대로 화면변경 가능(무슨 말이지?)) 가끔 컨트롤러에게 알리기도 함(업데이트 된 뷰를 제거하기 위해 다른 로직 필요한 경우).
    => 모델은 쇼핑리스트에 포함되어야 할 품목, 가격(데이터) 등을 지정

뷰(view)

  • 앱의 데이터를 보여주는 방식 정의함
    => 표시할 쇼핑리스트의 품목 이름, 가격(데이터) 등을 model로 부터 받아와 사용자에게 보여지는 방식 정함

컨트롤러(controller)

  • 앱의 사용자가 입력을 하면 그 응답으로 모델, 뷰를 업데이트하는 로직 포함함
    => 쇼핑리스트의 항목을 편집할 수 있는 입력 형식 제공함
    ->이는 모델이 업데이트 되는 과정임
    (입력을 컨트롤러에 전송 -> 모델을 처리 -> 업데이트된 데이터를 뷰로 전송)
profile
wanna be an iOS developer

0개의 댓글