Pergunta

pergunta simples realmente, eu estava querendo saber o que as convenções de nomeação coloca qualquer um lá DTO / POCOS ....

Eu realmente não quer prefixo como notação húngara .. eu tenho longe do que!.

Mas meus dtos de nomeação estão em conflito com os meus nomes reais objeto retornado e embora eles estão em um namespace diferente o seu ainda um pouco confuso ..

Eu queria saber o que as convenções de nomenclatura qualquer um se aplica a ele

Por exemplo meu objeto cliente é chamado Customer

e eu fazer um mapeamento para dto ... que é cliente .. Eu estava pensando DtoCustomer ..

Não tenho certeza

Qualquer um?

Foi útil?

Solução

Eu prefiro usar namespaces para isso. Usando aliases de namespace para este torna ainda mais clara.

Isto faria com que o código que se parece com:

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

Se eu estou trabalhando inteiramente na camada DTO, eu ainda pode trabalhar com "Cliente" neste momento.

Outras dicas

Na minha experiência, do DTO são muitas vezes subconjuntos ou agregações de dados que seus entidades de domínio representam. Isso geralmente é porque as entidades de domínio são ricos objetos complexos, altamente inter-relacionados, que têm tanto o comportamento e dados. Como tal, eu tento o nome do meu DTO para refletir, tanto quanto possível o subconjunto de informações que eles representam. No caso de clientes, muitas vezes tenho DTO do que são as informações que está sendo solicitado afinado:

  • CustomerHeader
  • CustomerDetail
  • CustomerWithRecentOrders
  • CustomerAndBill

Nos exemplos acima, CustomerHeader provavelmente só iria conter o ID do cliente e nome, muitas vezes usado para clientes de exibição em listas simples. CustomerDetail iria conter mais informações do cliente, mas não contêm qualquer uma das propriedades relacionais que uma entidade Cliente soprado completo é susceptível de conter. Os outros devem ser auto-explicativo, que é o objetivo final.

Gosto CustomerDto mais de DtoCustomer. Como para tê-los ordenado ao lado do outro.

Mas a nomeação pode também dependem do uso do DTO. Por exemplo, em um ASP.NET MVC Costumo chamar um DTO que é enviado para uma exibição para CustomerViewModel.

Eu normalmente anexar DTO em situações como esta.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top