为DTO/POCOS添加前缀 - 命名约定?

mar*_*ith 21 c# naming-conventions poco dto

简单的问题,我想知道任何人在那里放置的命名约定DTO/POCOS ....

我真的不想像匈牙利符号一样加前缀..我离开了!

但我的dtos命名与我的实际返回的对象名称冲突,虽然它们在不同的命名空间中仍然有点混乱..

我想知道任何人适用的命名约定

例如,我的客户对象称为客户

我做了一个映射到dto ...这是客户..我在想DtoCustomer ..

不确定

任何人 ?

Ree*_*sey 20

我更喜欢使用命名空间.为此使用命名空间别名使其更加清晰.

这将使代码看起来像:

Customer myCustomer = new Customer();
Dto.Customer dtoCustomer = ....;
Run Code Online (Sandbox Code Playgroud)

如果我完全在DTO层工作,我现在仍然可以与"客户"合作.

  • 这种情况下,使用命名空间进行限定是有道理的,并且很好地利用了人.但是否则在课程顶部添加使用语句,如果不必要,则不完全符合条件. (2认同)

jri*_*sta 13

根据我的经验,DTO通常是您的域实体所代表的数据的子集或聚合.这通常是因为域实体是丰富的,高度相互关联的,具有行为和数据的复杂对象.因此,我尝试命名我的DTO,以尽可能多地反映它们所代表的信息子集.对于客户而言,我经常会根据所请求的信息对DTO进行微调:

  • CustomerHeader
  • 为CustomerDetail
  • CustomerWithRecentOrders
  • CustomerAndBill

在上面的示例中,CustomerHeader可能只包含客户ID和名称,通常用于在简单列表中显示客户.CustomerDetail将包含大多数客户信息,但不包含完整的Customer实体可能包含的任何关系属性.其他应该是自我解释,这是最终目标.


Ben*_*tBe 7

我比DtoCustomer更喜欢CustomerDto.喜欢让它们彼此相邻排序.

但命名也可能取决于DTO的用法.例如,在ASP.NET MVC中,我经常调用发送到CustomerViewModel视图的DTO.