본문 바로가기

Theory

MVC 패턴(MVC Pattern)

MVC란?

애플리케이션을 모델(Model), 뷰(View), 컨트롤러(Controller)인 세 부분으로 나눈 디자인 패턴

  • Model : 데이터, 비즈니스 로직
  • View : 사용자에게 보여주는 화면
  • Controller : Model과 View를 연결함

ⓐ : User가 요청함 (ex. 웹 페이지에 접속함)

ⓑ : Controller가 Model에게 로직을 받아옴 (ex. 웹 페이지에 해당하는 로직을 받아옴)

ⓒ : Controller가 View에게 뿌려줌 (ex. 해당하는 로직을 View에게 뿌려줌)

ⓓ : User는 화면을 볼 수 있음 (ex. 웹 페이지를 볼 수 있음)

모델(Model)

  • 뷰와 컨트롤러에 의존하지 않는다.
  • 데이터베이스나 비즈니스 로직(+DAO)처럼 데이터와 데이터가 동작하는 방식을 제공한다.
  • 순수하게 public 함수로만 이루어져있다.

뷰(View)

  • 모델의 상태를 유저가 시각적으로 확인할 수 있도록 표현해준다.
  • 웹페이지 또는 그 일부, RSS 등을 출력한다.

컨트롤러(Controller)

  • 모델과 뷰를 연결해주는 역할을 한다.
  • 유저의 입력을 처리한다.
  • MVC의 핵심적인 기능을 담당한다.

MVC 패턴을 쓰는 이유

  • 어플리케이션을 모델, 뷰, 컨트롤러의 세 부분으로 나누기 때문에 서로간의 의존성이 낮아진다.
  • 유지보수가 간편하다.
  • 특정 코드에만 집중할 수 있다.

참고 문헌

모델-뷰-컨트롤러 MVC - 제타위키

모델-뷰-컨트롤러 - 위키백과, 우리 모두의 백과사전