Order를 나타내는 평면 DTO를받는 웹 서비스를 사용하고 있으며, 비즈니스 표현을이 평면 표현으로 변환해야합니다.
dto에서 다형성 비즈니스 객체로 변환
비즈니스 개체 :
이제 문제는 어떻게 내 Order
엔티티를 변환합니까 여기
는 개체 -
DTO입니까?
- 가
Order
은 DTO로 자신을 표현하는 방법을 알고 있나요 :
나는이 개 가능한 솔루션 생각할 수OrderDTO dto = order.ToDto();
하지만이 데이터 표현을 아는 사업체의 명백한 단점이있다. Convertor :
OrderDTO dto = Convertor.Convert(order);
일종의 작업을 수행 했습니까?
그러나 변환기 코드는 다음과 같이해야합니다 :경우 (순서는 OnlineOrder입니다)
{
dto.Email = ((OnlineOrder) 순서) .Email;
} 물론 끔찍합니다.
의견이 있으십니까? automapper는 여기에서 도움을 줄 수 있습니까?
비즈니스 오브젝트의 당신의 세트, 여러분이이처럼, 인터페이스 "IOrder"를 추출 할 수 OrderDTO입니다 DTO, 정확히 하나 개의 클래스에 해당하는 경우 : 는'공공 추상 클래스 주문 IOrder를 구현 {' 모든 선언 계층 구조의 맨 아래에있는 것을 제외하고는 서브 클래스 abstract. 이렇게하면 누락 된 모든 입력란에 대해 getter 및 setter를 제공 할 수 있습니다. 그런 다음 인터페이스 바인딩 된 getter의 모든 필드를 DTO의 setter로 복사하는 createOrder 메서드를 만들 수 있습니다. –