데이터 전송 객체

Data transfer object

프로그래밍 분야에서 데이터 전송 객체(DTO[1][2])는 프로세스 간에 데이터를 전달하는 객체다.그 사용 동기는 프로세스 간의 통신이 대개 원격 인터페이스(예: 웹 서비스)에 의존하여 이루어지기 때문에, 각 통화는 비용이 많이 드는 작업이다.[2]각 통화의 비용의 대부분은 클라이언트와 서버 간의 왕복 시간과 관련되기 때문에, 통화 수를 줄이는 한 가지 방법은 여러 통화에 의해 전송되었을 데이터를 집계하는 객체(DTO)를 사용하는 것이지만, 그것은 하나의 통화에 의해서만 제공된다.[2]

데이터 전송 개체와 비즈니스 개체 또는 데이터 액세스 개체의 차이는 DTO가 자체 데이터(문자, 액세스자, 파서시리얼라이저)의 저장, 검색, 직렬화 및 탈직렬화를 제외하고 어떠한 동작도 하지 않는다는 것이다.즉, DTO는 어떤 비즈니스 논리를 포함해서는 안 되지만, 유선상으로 데이터를 전송하기 위한 직렬화 및 탈직렬화 메커니즘을 포함할 수 있는 단순한 객체다.[1]

패턴은 원격 인터페이스 외부에서 잘못 사용되는 경우가 많다.이것은 DTO의 전체 목적이 값비싼 원격 호출에서 데이터를 이동하는 것이라고 반복하는 그것의 저자의[3] 반응을 촉발시켰다.

용어.

값 개체는 DTO가 아니다.이 두 용어는 과거에 Sun/Java 커뮤니티에 의해 혼동되었다.[2]

참조

  1. ^ a b MSDN(2010).데이터 전송 개체.Microsoft MSDN 라이브러리.https://msdn.microsoft.com/en-us/library/ms978717.aspx에서 검색됨.
  2. ^ a b c d 파울러, 마틴(2010년).데이터 전송 개체.엔터프라이즈 애플리케이션 아키텍처의 패턴.http://martinfowler.com/eaaCatalog/dataTransferObject.html에서 검색됨.
  3. ^ 현지DTO.http://martinfowler.com/bliki/LocalDTO.html에서 검색됨.

외부 링크