[JAVA] 자바 MVC와 DTO

지수·2021년 7월 27일
1

플레이데이터

목록 보기
6/50
post-thumbnail

1. MVC란?

= Model View Controller

MVC(모델-뷰-컨트롤러)는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴으로, 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 둠. 이러한 "관심사 분리"는 더나은 업무의 분리와 향상된 관리를 제공함

  • Model(모델) : 데이터와 관련된 부분 데이터 관리하는 핵심 로직, 데이터를 표현 할 수 있는 구조 (DTO, VO)
  • View(뷰) : 사용자에게 보여지는 부분 레이아웃과 화면 처리 (StartView, EndView)
  • Controller(컨트롤러) : 모델과 뷰를 이어주는 부분 명령을 모델과 뷰 부분으로 라우팅(연결)

출처: MVC - 용어 사전 | MDN



2. DTO란?

= Data Transfer Object (≒ Value Object)

계층(Controller, View) 간 데이터 교환을 위한 Java beans
위 MVC 중 Model 쪽에 속하여 MVC 흐름 속에서 데이터가 교환될 수 있도록 하는 객체

Controller는 View - Model의 데이터를 주고 받을 때 별도의 DTO 를 주로 사용,
도메인 객체를 View에 직접 전달할 수 있지만,

  • 민감한 도메인 비즈니스 기능이 노출될 수 있으며
  • Model과 View 사이에 의존성이 생기기 때문

(물론 소규모 프로젝트의 경우 DTO 사용이 불필요할 수 있음)



3. MVC와 DTO

MVC pattern + DTO pattern[Value Object]
- IT에서 전반적으로 선호하는 구조
- 각 언어별 개발을 용이하고 쉽게 표준화해서 개발 가능한 구조를 제공하는 Framework 들의 default 구조

profile
사부작 사부작

0개의 댓글