2009-07-02 52 views
19

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

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

但我的DTOS命名与我的实际返回的对象名称发生冲突,尽管它们是在不同的命名空间中其犹有点混乱..

我想知道公约适用于任何人什么命名它

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

和我做了映射DTO ......这是客户.. IWAS思维DtoCustomer ..

不知道

有人吗?

回答

20

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

这将使代码看起来像:

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

如果我在DTO层完全工作,我仍然可以与“客户”在这一点上工作。

+0

是的,我最终采纳了这一点,我有我的模型在命名空间模型和我的dto在dto ..谢谢 – 2009-11-09 10:29:10

+0

这从来没有发生过我。真棒。我喜欢它。我想要更多一些。 – Sinaesthetic 2012-08-31 17:09:18

7

我喜欢CustomerDto比DtoCustomer多。喜欢让它们相邻排序。

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

2

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

13

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

  • CustomerHeader
  • 为CustomerDetail
  • CustomerWithRecentOrders
  • CustomerAndBill

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