MVC 디자인패턴

w0308h 1월 20일 AM 11:10 11 0
w0308h Profile Image Level 9
2 #TIL

MVC 패턴은

Model, View, Controller로 이루어진 디자인 패턴을 의미한다.

  • 역할

    • 모델(Model)
      • 애플리케이션의 데이터인 데이터베이스, 상수, 변수 등을 의미
      • 뷰에서 데이터를 생성하거나 수정하면 컨트롤러를 통해 모델을 생성하거나 갱신
    • 뷰(View)
      • 사용자 인터페이스 요소를 나타냄. 모델을 기반으로 사용자가 볼 수 있는 화면.
      • 모델이 가지고 있는 정보를 따로 저장하지 않고 단순히 화면에 표현하는 정보만 가지고 있어야 한다.
      • 변경이 생기면 컨트롤러에 변경 사항을 전달
    • 컨트롤러(Controller)
      • 하나 이상의 모델과 하나 이상의 뷰를 잇는 다리 역할
      • 이벤트 등 메인 로직 담당
      • 모델과 뷰의 생명주기 관리
      • 모델이나 뷰로부터 변경 noti를 받으면 각각의 구성 요소에 해당 내용을 알림
  • 장점

    • 어플리케이션의 구성 요소를 세 가지 역할로 구분하여 개발 프로세스에서 각각의 구성 요소에만 집중해서 개발 가능
    • 재사용성과 확장성 용이
  • 단점

    • 애플리케이션이 복잡해질수록 모델과 뷰의 관계가 복잡해짐
댓글