문제

간단한 질문은 정말로, 나는 누군가가 거기에 어떤 명명 규칙을하고 있는지 알고 싶었습니다. dto / pocos ....

나는 정말로 헝가리 표기법처럼 접두사를하고 싶지 않았다. 나는 그곳에서 멀어졌다!.

그러나 내 DTOS 이름은 실제 반환 된 객체 이름과 충돌하고 있으며 다른 네임 스페이스에 있지만 여전히 약간 혼란 스럽습니다.

나는 어떤 사람이 어떤 이름을 지정하는지 궁금했다.

예를 들어 내 고객 객체를 고객이라고합니다

그리고 나는 DTO에 매핑을한다 ... 그것은 고객이다 .. 나는 dtocustomer를 생각했다 ..

확실하지 않다

누구나 ?

도움이 되었습니까?

해결책

나는 이것을 위해 네임 스페이스를 사용하는 것을 선호합니다. 이를 위해 네임 스페이스 별칭을 사용하면 더욱 명확합니다.

이것은 다음과 같은 것처럼 보이는 코드를 만듭니다.

Customer myCustomer = new Customer();
Dto.Customer dtoCustomer = ....;

DTO 계층에서 전적으로 일하고 있다면이 시점에서 여전히 "고객"과 함께 일할 수 있습니다.

다른 팁

내 경험상 DTO는 종종 도메인 엔티티가 나타내는 데이터의 서브 세트 또는 집계입니다. 이는 일반적으로 도메인 엔티티가 풍부하고 상호 관련이 있으며 동작과 데이터를 모두 갖는 복잡한 객체이기 때문입니다. 따라서, 나는 그들이 나타내는 정보의 하위 집합을 가능한 한 많이 반영하도록 내 DTO의 이름을 지정하려고 노력합니다. 고객의 경우, 나는 종종 요청되는 정보에 미세 조정되는 DTO가 있습니다.

  • 고객 헤더
  • CustomerDetail
  • 고객과의 관계가 있습니다
  • CustomerAndBill

위의 예에서, CustomerHeader에는 고객 ID와 이름 만 포함되어 있으며 종종 고객을 간단한 목록에 표시하는 데 사용됩니다. CustomerDeTail에는 대부분의 고객 정보가 포함되어 있지만 전체 고객 엔티티가 포함 할 수있는 관계형 속성은 포함되어 있지 않습니다. 다른 사람들은 자기 설명이어야하며, 이것은 궁극적 인 목표입니다.

나는 dtocustomer보다 customerdto를 더 좋아합니다. 그것들이 서로 옆에 분류하는 것을 좋아합니다.

그러나 명명은 DTO의 사용에 의존 할 수 있습니다. 예를 들어 ASP.NET MVC에서는 종종 CustomerViewModel의보기로 전송되는 DTO를 호출합니다.

나는 일반적으로 이와 같은 상황에서 DTO를 추가합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top