Spring

스프링 MVC 소개

라우브 2020. 7. 30. 21:57

MVC란 ?

M: Model (평범한 자바 객체 POJO)

V: View (ex. HTML, JSP, Thymeleaf, mustache 등등 )

C: Controller(스프링 @MVC)

 

MVC의 역할

모델: 도메인 객체, 또는 DTO로 화면에 전달할 또는 화면에서 전달 받은 데이터를 담고 있는 객체

: 데이터를 보여주는 역할. 다양한 형태로 보여줄 수 있다. (HTML, JSON, XML ..)

컨트롤러: 사용자 입력을 받아 모델 객체를 수정하거나, 모델 객체를 뷰에 전달하는 역할 (입력값 검증 포함)

 

MVC 패턴의 장점

  • 동시 다발적 개발이 가능하다 - 프론트 개발자와 백엔드 개발자가 각자 자기 업무를 동시에 진행할 수 있다.
  • 높은 결합도 - 논리적으로 관련있는 기능을 하나의 컨트롤러로 묶거나, 특정 모델과 관련있는 뷰를 그룹화 할 수 있다.
  • 낮은 의존도 - 뷰, 모델, 컨트롤러는 각각 독립적이다.
  • 개발 용이성 - 책임이 구분되어, 코드 수정이 용이하다.
  • 한 모델에 대한 여러 형태의 뷰를 가질 수 있다.

MVC 패턴의 단점

  • 코드 네비게이션이 복잡함 (컨트롤러, 뷰, 모델이 분리되어 있어 각각을 찾기가 불편)
  • 코드 일관성 유지에 노력이 필요하다.
  • 높은 러닝 커브

 

'Spring' 카테고리의 다른 글

Database Transaction과 데이터 동기화 -1  (0) 2021.08.01
스프링 MVC 구성 요소  (0) 2020.08.02
DispatcherServlet이란  (0) 2020.08.02
서블릿 리스너와 서블릿 필터  (0) 2020.08.01
서블릿이란 ?  (0) 2020.07.31