MVC 패턴이란?
- Model-View-Controller의 약자로 소프트웨어 디자인 패턴중 하나입니다.
사용하는 이유
- 각 구성 요서의 역할을 명확히 정의함으로 다음과 같은 장점을 얻을 수 있습니다.
1. 유지보수성을 높일 수 있습니다.
2. 코드의 재사용성이 증가합니다.
Model
- 데이터와 비즈니스 로직을 담당합니다.
- 비즈니스 로직이란 데이터 처리, 조작, 계산, 유효성 검사와 같은 로직을 의미합니다.
- Spring MVC 프로젝트에서 DAO, DTO, service에 해당합니다.
- Spring boot 프로젝트에서 Entity, DTO, Service에 해당합니다.
View
- 클라이언트 화면을 담당합니다.
- Spring MVC 프로젝트에서 JSP에 해당합니다.
- RESTful API는 주로 데이터의 표현과 상태에 중점을 두기 때문에 RESTful API에서는 View가 없습니다.
Controller
- 클라이언트의 요청에 맞는 로직을 처리하기 위해 model 호출을 담당합니다.
- Spring MVC 프로젝트에서 servlet에 해당합니다.
- Spring boot 프로젝트에서는 ~Controller에 해당합니다.