IT/Computer Science

[IT] MVC 패턴이란?

FintechPark 2021. 3. 9. 18:00

MVC 패턴이란?


MVC(Model-View-Controller)모델-뷰-컨트롤러로 이루어진 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다. 3가지 구성요소에 대한 설명은 아래와 같다.

 

  • 모델은 모델의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보한다. 이러한 통보로 뷰는 최신의 결과를 보여줄 수 있고, 컨트롤러는 모델의 변화에 따른 적용 가능한 명령을 추가·제거·수정할 수 있다. (알고리즘, 데이터 처리)

 

  • 는 사용자가 볼 결과물을 생성하기 위해 모델로부터 정보를 얻어 온다. HTML, XML 등을 생성해서 컨트롤러에 보낸다. (웹 페이지)

 

  • 컨트롤러는 모델에 명령을 보내 모델의 상태를 변경할 수 있다. 또한, 관련된 뷰에 명령을 보내 모델의 표시 방법을 바꿀 수 있다. 

 

 

MVC 패턴의 작동법


아래 작동법과 그림은 정말 시험에 빈출된다. 서술형 부분에 "MVC 패턴을 그리시오"로 나온다. 꼭 참고하자.

 

MVC 패턴이 웹 브라우저에서 적용된 예시

 

MVC 패턴의 웹 브라우저를 통한 작동 순서는 다음과 같다

 

0. 사용자가 브라우저로 무엇을 하고 싶은지 요청 전송

1. 브라우저에서 사용자의 요청을 컨트롤러에 보냄

2. 컨트롤러는 모델에 데이터 처리를 요청

3. 모델은 DB를 통해 데이터 처리 후 컨트롤러에 반환

4. 컨트롤러는 모델에서 받은 데이트를 뷰에 전달

5. 뷰는 응답을 생성해 컨트롤러에 반환

6. 컨트롤러가 브라우저에 뷰에서 받은 응답을 전송

7. 브라우저는 사용자에게 화면을 표시

 

 

 

MVC 패턴의 장단점


[장점]

 

MVC 패턴은 개발에서 관심사 분리로

 

  • 프로그램을 개별적으로 파악하기 용이해집니다.
  • 각 파트별로 재사용이 가능해집니다.
  • 나아가 파트별로 유지보수와 협업이 EASY 해집니다.

 

[단점]

 

대규모 프로그램을 개발할 때, 다수의 뷰와 모델이 컨트롤러로 복잡하게 연결될 수 있어서 Massive 현상이 발생할 수 있습니다. 수정 시 테스트가 힘들고, 파악이 어려워질 수 있습니다.

 

장단점도 종종 선택지로 나오니 기억하세요~!