2009-07-02 79 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將包含大多數客戶信息,但不包含完整客戶實體可能包含的任何關係屬性。其他人應該是自我解釋的,這是最終的目標。