데이터 전송 개체가 값 개체와 동일하거나 다른 개체입니까? DTO가 다른 경우 어디에서 DTO를 사용해야하며 어디에서 VO를 사용해야합니까?데이터 전송 개체가 값 개체와 동일합니까?
우리가 얘기하는 프로그래밍 언어는 자바하고 맥락이다 -이 데이터베이스에서 데이터를 가져 오는 웹 응용 프로그램,하고 다음을 처리하고 궁극적으로 처리 된 정보가 프런트 엔드
데이터 전송 개체가 값 개체와 동일하거나 다른 개체입니까? DTO가 다른 경우 어디에서 DTO를 사용해야하며 어디에서 VO를 사용해야합니까?데이터 전송 개체가 값 개체와 동일합니까?
우리가 얘기하는 프로그래밍 언어는 자바하고 맥락이다 -이 데이터베이스에서 데이터를 가져 오는 웹 응용 프로그램,하고 다음을 처리하고 궁극적으로 처리 된 정보가 프런트 엔드
에 표시됩니다 값 객체는 동일성이 동일성을 기반으로하지 않는 단순 객체입니다. 데이터 전송 객체는 일반적으로 비즈니스 계층과 UI 사이에서 소프트웨어 응용 프로그램 하위 시스템간에 데이터를 전송하는 데 사용되는 객체입니다. 일반 데이터에만 초점을 맞추기 때문에 아무런 동작이 없습니다.
정체성에 기반하지 않는 평등에 대해 자세히 설명해 주실 수 있습니까? "몇 가지 예를 들면? – Gaurav
이 문장은 VO가 도메인 엔티티에 대해 직접 매핑 할 필요가 없다는 것을 의미한다고 생각할 수 있습니다. VO는 도메인의 일부 필드 나 다른 "그림"이 아닌 직접 매핑해야합니다. 일반적으로 VO는 DTO와 동일하지만 DTO는 "필드 구성"(다른 도메인 클래스의 일부 필드)을 기반으로합니다. DTO 예제는 CustomerAddress 클래스와 Customer 클래스의 필드 사이의 컴포지션으로 표현 레이어에 제공 할 수 있습니다. – frandevel
@Gaurav 두 값 객체는 같은 값을 가질 때 같지만 꼭 같은 객체는 아닙니다 ... – JuanZe
서비스의 클라이언트에 실제 도메인 개체를 보내지 않으려면 서비스 경계에서 DTO를 사용하십시오. 이렇게하면 클라이언트와 서비스 간의 종속성을 줄일 수 있습니다.
값 개체는 동일성이 동일성을 기반으로하지 않는 개체입니다. java.lang.Integer
DTO 및 값 객체는 실제로 서로 대체 할 수 없습니다.
데이터 전송 객체는 하나의 계층 또는 계층에서 데이터 묶음을 다른 곳으로 이동시키기위한 골치 거리입니다. 목표는 동일한 데이터 구조에 여러 가지 항목을 묶어 보내고 앞뒤로 호출 횟수를 최소화하는 것입니다. 함께. 어떤 사람들은 Michael points out in his post here처럼 그것도 사용하기 때문에 하나의 레이어에서 사용하는 클래스는 그것을 호출하는 레이어에 노출되지 않습니다. DTO를 kludge로 언급 할 때 정확한 추상 개념이 구현되지 않았 음을 의미합니다. 이는 응용 프로그램 계층 간의 통신을 돕는 실질적인 해결 방법입니다.
값 개체는 monetary amount, 날짜 범위 또는 lookup table의 코드와 같은 값에만 관심이있는 항목입니다. 그것은 정체성을 가지고 있지 않습니다. 즉, 당신이 걱정할 필요가 없다는 것을 의미합니다.
대비 값 시스템에서 Entities라고하는 고유 한 ID를 가진 것에 대한 개체입니다. 고객이 지불하는 고객을 추적하는 시스템이있는 경우 고객과 지불은 특정 사항을 나타내므로 엔티티이지만 지불 금액은 가치에 불과하며 자체적으로 존재하지는 않습니다. 당신의 시스템에 관한 한. 시스템과 관련된 무언가가 Value Object인지 Entity인지를 결정합니다.
귀하의 질문에 어떤 프로그래밍 언어 또는 다른 상황이 발생합니까? – Marcin
프로그래밍 언어는 Java이고 컨텍스트는 다음과 같습니다. - 데이터베이스에서 데이터를 가져 와서 처리하는 웹 응용 프로그램이 있으며 궁극적으로 처리 된 정보가 프런트 엔드에 표시됩니다. – Gaurav
그런 다음 질문에 추가하고 적절하게 태그 지정하십시오 ; – Marcin