2011-02-10 7 views
2

그래서 POCO에서 EF를 사용하고 DTO를 내 WCF의 클라이언트로 전송하는 방법을 살펴보기 시작했습니다.EF POCO DTO WCF 어댑터 패턴

클라이언트에게 POCO를 보내는 대신 DTO를 사용하는 것이 좋은 아키텍처 디자인 인 것처럼 보입니다.

그래서 저는 POCO를 DTO로 변환하기 위해 어댑터 패턴을 사용하여 언급 한 많은 시간을 읽었습니다.

POCO => DTO에 사용 된 어댑터 패턴을 설명하는 기사를 찾지 못하는 것 같습니다.

누군가 이것에 관해 약간의 빛을 비출 수 있습니까?

답변

3

Adapter은 정확한 의미의 GoW 패턴입니다. POCO 및 DTO (다른 클래스와 마찬가지 임) 위에 사용하는 방법에 대한 특별 기사는 필요하지 않습니다. 하지만 실제로 어댑터를 원하지 않는다고 생각합니다. POCO를 DTO로 또는 그 반대로 변환 할 수있는 것이 필요합니다. 많은 개발자들이 AutoMapper이라는 매우 훌륭한 라이브러리를 사용하고 있습니다. 나는 보통 어댑터 나 AutoMapper를 사용하지 않는다. 대신 내 DTO에는 ToPocoFromPoco이라는 정적 메서드가 있습니다. 바보이며 더 많은 writting이 있지만 모두 이해합니다.

+0

어댑터 패턴과 함께 사용하는 방법을 궁금해하고있었습니다. 이 http://www.dofactory.com/Patterns/PatternAdapter.aspx로 가고 있습니다. 타겟이 DTO 인 것 같았습니다 ... 그래서 내 poco를 감쌀 수있는 어댑터를 만들었습니까? ... – pdiddy

1

post은 둘의 순도에 대해 말합니다.

그러나 한 곳에서 다른 곳으로 변환하는 한, 과거에는 확장 방법을 사용했습니다.

그래서 POCO가 전선을 통해 전송되기 전에 다음과 같은 메시지가 표시됩니다.

accountPoco.toDTO() 

WCF 데이터 변환 객체로 변환되어 직렬화되어 전선을 통해 전송됩니다. 다른 측면에서

나는 POCO로 다시 변환

accountDto.toPOCO() 

있습니다.

가장 우아하지는 않지만 작동합니다.