MVC 패턴이란? : Model, View, Controller

82.831·2023년 1월 6일
0
  • 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴이다.
  • 하나의 어플리케이션 또는 프로젝트를 구현할 때, 세 개의 영역으로 분할하고 각 구성 요소에게 고유한 역할을 부여하는 소프트웨어 공학에서 사용되는 개발 방식이다.
  • 비즈니스 로직UI 영역분리되어 독립적인 역할 수행 가능


1) User가 Controller를 조작한다.
2) Controller는 Model을 Manipulate(조종)하여 데이터를 갖고온다. (알맞은 비즈니스 로직을 수행)
3) 가져온 데이터를 바탕으로 View를 갱신한다.
4) 갱신된 View를 사용자가 볼 수 있게 된다.


Model

  • 데이터비즈니스 로직을 관리한다. (Application 정보, data, DB와 상호작용)
  • 프로그램이 목표하는 작업을 원활하게 수행하기 위해 필요한 물리적 개체
  • 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다.
  • view 또는 controller에 대해 어떤 정보도 알고 있으면 안된다.
  • 변경이 일어나면 이에 대한 처리방법을 구현해야 한다.

View (inputView, outputView)

  • 레이아웃과 사용자가 보는 화면을 처리한다. (user interface)
  • 모델이 가지고 있는 정보를 따로 저장하면 안된다. (모델에게 전달받은 데이터를 별도로 저장하지 않아야 한다.)
  • 다른 구성요소를 알면 안된다.
  • 변경이 일어나면 이에 대한 처리방법을 구현해야 한다.

Controller

  • model(data)과 view(user interface)를 연결 시켜준다. (단순 bridge 역할)
  • 프로그램 작동 순서와 방식을 처리한다.
  • 사용자가 데이터를 수정하거나, 데이터를 클릭하는 등의 Event가 발생하면, 이 Event를 처리하는 역할
  • model 또는 view에 대해 알고 있어야 한다.
  • model 또는 view의 변경을 모니터링 해야 한다.

참고문헌

https://developer.mozilla.org/ko/docs/Glossary/MVC

0개의 댓글