본문 바로가기
카테고리 없음

MVC 패턴

by cook_code 2023. 4. 26.
반응형

MVC 패턴이란

MODEL, CONTROLLER, VIEW로 구성된 소프트웨어 디자인 패턴이다. 

요약 >

MODEL - 데이터나 기본 기능에 관한 부분

VIEW - 유저 인터페이스, 사용자에게 보여지는 부분

CONTROLLER - 모델과 뷰를 연결하는 제어 모듈

 

MVC 패턴을 사용하는 이유

  • 비즈니스 로직과 UI로직을 분리하여 유지보수를 독립적으로 수행할 수 있다. 
  • MODEL과 VIEW가 다른 컴포넌트들에 종속되지 않아 애플리케이션의 확장성, 유연성에 유리하다.
  • 중복 코딩의 문제점 제거

 

각 구성요소의 특징

  • MODEL
  • 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다. 
  • 뷰나 컨트롤러에 대해서 어떠한 정보도 알지 말아야 한다.
  • 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야 한다. 
  • CONTROLLER
  • 모델이나 뷰에 대해서 알고 있어야 한다.
  • 모델이나 뷰의 변경을 모니터링해야 한다.
  • VIEW
  • VIEW는  모델이 가지고 있는 정보를 저장해서는 안된다. 
  • 모델이나 컨트롤러와 같이 다른 구성요소를 몰라야한다. 
  • 변경이 일어나면, 변경 통지에 대한 처리방법을 구현해야 한다. 

 

DISPATCHER-SERVLET

HTTP 프로토콜로 들러오는 모든 요청을 받아 적합한 컨트롤러에 위임해주는 역할로 MVC 구조에서 함께 사용된다. 

부터 응답까지 디스패처 서블릿이 작동하는 전체 과정 > 
  1. 클라이언트의 요청을 디스패처 서블릿이 받음
  2. 요청 정보를 통해 요청을 위임할 컨트롤러를 찾음
  3. 요청을 컨트롤러로 위임할 핸들러 어댑터를 찾아서 전달함
  4. 핸들러 어댑터가 컨트롤러로 요청을 위임함
  5. 비지니스 로직을 처리함
  6. 컨트롤러가 반환값을 반환함
  7. 핸들러 어댑터가 반환값을 처리함
서버의 응답을 클라이언트로 반환함

 

참고블로그

 

Spring) Spring MVC 동작 구조

* https://iri-kang.tistory.com/4 , https://junu0516.tistory.com/92를 참고하여 재작성했음을 밝힙니다. * Spring MVC 동작에 대한 설명입니다. * 오탈자 및 잘못된 정보는 댓글로 알려주시기 바랍니다. * 본 포스팅

ss-o.tistory.com

 

[Spring] Dispatcher-Servlet(디스패처 서블릿)이란? 디스패처 서블릿의 개념과 동작 과정

이번에는 servlet의 심화 또는 대표주자인 dispatcher-servlet에 대해서 알아보도록 하겠습니다. 1. Dispatcher-Servlet(디스패처 서블릿)의 개념 [ Dispatcher-Servlet(디스패처 서블릿) 이란? ] 디스패처 서블릿의

mangkyu.tistory.com

 

[개발상식] MVC 패턴이란? (Model-View-Controller)

🚀 이번 포스팅은 개발자 면접에서 자주 나오는 질문 중의 하나인 "MVC패턴"에 대한 내용입니다. MVC패턴의 의미와 사용해야 하는 이유, 사용 예시 등등에 대해 알아보겠습니다. 💡 MVC 패턴이란?

cocoon1787.tistory.com

 

반응형