MVC(모델-뷰-컨트롤러)는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴으로, 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 둠. 이러한 "관심사 분리"는 더나은 업무의 분리와 향상된 관리를 제공함
Model(모델)
: 데이터와 관련된 부분 데이터 관리하는 핵심 로직, 데이터를 표현 할 수 있는 구조 (DTO, VO)View(뷰)
: 사용자에게 보여지는 부분 레이아웃과 화면 처리 (StartView, EndView)Controller(컨트롤러)
: 모델과 뷰를 이어주는 부분 명령을 모델과 뷰 부분으로 라우팅(연결)계층(Controller, View) 간 데이터 교환을 위한 Java beans
위 MVC 중 Model 쪽에 속하여 MVC 흐름 속에서 데이터가 교환될 수 있도록 하는 객체
Controller는 View - Model의 데이터를 주고 받을 때 별도의 DTO 를 주로 사용,
도메인 객체를 View에 직접 전달할 수 있지만,
(물론 소규모 프로젝트의 경우 DTO 사용이 불필요할 수 있음)
MVC pattern + DTO pattern[Value Object]
- IT에서 전반적으로 선호하는 구조
- 각 언어별 개발을 용이하고 쉽게 표준화해서 개발 가능한 구조를 제공하는 Framework 들의 default 구조