MVC 패턴과 Spring MVC

Blaster·2021년 8월 19일
0

🤔 MVC 패턴이란?

웹 프로그래밍을 접하게 되면 자연스럽게 MVC 디자인 패턴을 접하게 될 것 입니다. MVC 패턴에 대한 기본적인 개념에 대해 정리를 하고 넘어가보도록 하겠습니다.

MVC 패턴

MVC란, 데이터(Model) - UI(View) - 어플리케이션 로직(Controller)를 분리하는데 사용되는 디자인 패턴입니다.

  • 웹 또는 모바일 어플리케이션 설계에 널리 사용
  • 느슨한 결합도와 높은 응집도
  • 코드 재사용
  • 유지보수 용이

Model

  • 정보의 요청과 상태에 대해 응답
  • 정보가 변경된 경우 이벤트 기반 시스템 관찰자에게 통지
  • 어플리케이션의 데이터 관리
  • 데이터베이스 또는 웹 스토리지

View

  • UI 요소를 효과적으로 제공
  • Model의 데이터를 UI에 적합한 형식으로 제공

Controller

  • 사용자 입력을 수신
  • Model 또는 View에 적절한 작업을 수행하기 위해 호출

🍃 Spring MVC는 무엇인가?

  • 웹 어플리케이션 개발을 제공하는 스프링의 모듈
  • MVC 패턴에 대한 명확한 코드 분리
  • HTML, JSON, XML을 쉽게 작성 가능
  • 웹 어플리케이션, Restful Service 구축 가능

동작 원리

Front Controller

  • 모든 요청을 처리한 후 해당 유형에 적합한 Handler 또는 resolver로 전달
  • DispatcherServlet

HandlerMapping

  • 클라이언트가 요청한 URL을 해당 Controller로 매핑
  • @RequestMapping

Controller

  • 요청을 처리한 후 그 결과를 ModelAndView 객체에 담아 반환
  • @Controller, @RestController

Service

  • 비즈니스 로직을 처리
  • @Service

ViewResolver

  • View 이름을 실제 View에 매핑

View

  • Front Controller에서 렌더링 할 View에게 요청
  • 요청을 받은 View가 데이터를 렌더링

📑 참고문헌
What is MVC, really?
MVC Architecture in 5 minutes: a tutorial for beginners
Difference Between Cohesion and Coupling
What is Spring MVC: @Controllers & @RestControllers
Difference between Spring MVC and Spring Boot
How Spring Web MVC Really Works
Spring MVC Interview Questions

0개의 댓글

관련 채용 정보