23

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

我真的不想像匈牙利符号一样前缀..我摆脱了那个!

但是我的 dtos 命名与我实际返回的对象名称发生冲突,尽管它们位于不同的命名空间中,但它仍然有点令人困惑..

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

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

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

没有把握

任何人 ?

4

4 回答 4

23

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

这将使代码看起来像:

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

如果我完全在 DTO 层工作,那么此时我仍然可以使用“客户”。

于 2009-07-02T16:58:22.097 回答
14

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

  • 客户标头
  • 客户详情
  • CustomerWithRecentOrders
  • 客户和账单

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

于 2009-07-02T17:15:23.090 回答
9

比起 DtoCustomer,我更喜欢 CustomerDto。喜欢让它们并排排列。

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

于 2009-07-02T16:55:30.073 回答
2

我通常在这种情况下附加 DTO。

于 2009-07-02T17:05:53.163 回答