MVC 패턴

2024. 6. 5. 10:38면접을 위한 cs 전공지식 노트/디자인 패턴

MVC

 

Model, View, Controller로 이루어진 디자인 패턴

 

  • Model - 데이터베이스, 상수, 변수 등
  • View - 사용자가 보는 화면 / 프론트
  • Controller - Model과 View를 이어주는 역할

 

MVC 패턴을 이용한 대표적인 프레임워크 - Spring

 

 

 

 

Spring의 MVC 처리 순서

 

 

  1. Client 요청이 DispatcherServlet에게 전달된다.
  2. DispatcherServlet은 HandlerMapping을 사용해서 client요청을 처리할 Controller 객체를 추출한다.
  3. Controller에서 Moder을 사용하여 client의 요청을 처리한다.
  4. Cotroller는 처리 결과 data를 Model(AndView)에 담아서 return 한다.
  5. DispatcherServlet은 ViewResolver로부터 응답결과를 생성할 view 객체를 추출한다.
  6. View는 client에게 전송할 응답이다.

 

 

그림에는 Spring framework가 기본적으로 제공하는 것(파란색), 개발자가 직접 만드는 것(보라색), 주로 Spring framework가 제공하지만 개발자가 수정할 수도 있는 것(초록색)으로 각각의 역할이 구분되어 있다.

 

 

 

 

MVC 지키기 위한 다섯 가지 규칙

 

  1. Model은 Controller와 View에 의존하지 않아야 한다.
    (Model 내부에 Controller와 View에 관련된 코드가 있으면 안 된다.)

  2. View는 Model에만 의존해야 하고, Controller에는 의존하면 안 된다.
    (View 내부에 Model의 코드만 있을 수 있고, Controller의 코드가 있으면 안 된다.)

  3. View가 Model로부터 데이터를 받을 때는, 사용자마다 다르게 보여주어야 하는 데이터에 대해서만 받아야 한다.
  4. Controller는 Model과 View에 의존해도 된다.
    (Controlller 내부에는 Model과 View의 코드가 있을 수 있다.)

  5. View가 Model로 부터 데이터를 받을 때, 반드시 Controller에서 받아야 한다.

'면접을 위한 cs 전공지식 노트 > 디자인 패턴' 카테고리의 다른 글

MVP 패턴  (0) 2024.06.07
노출 모듈 패턴  (0) 2024.06.04
이터레이터 패턴  (0) 2024.06.03
프록시 패턴과 프록시 서버  (0) 2024.05.31
옵저버 패턴  (0) 2024.05.30