2009-01-09 128 views
1

對於域名實體,應該使用實體名稱作爲屬性名稱的前綴嗎? I.E.我的類倉庫有一個屬性WarehouseNumber。該屬性應該命名爲WarehouseNumber還是簡單的Number?域名實體名稱

想法?

回答

3

我不喜歡使用前綴,我發現它更容易輸入,而且更易讀,實體的內容幾乎總是顯而易見的。

2

想想你代表的概念,它們出現的環境以及它們的相對頻率。

在這種情況下,這些數據是WarehouseNumber。在Warehouse的情況下,Number是合格的。在Warehouse之外,WarehouseNumber將被適當地限定,即Order.WarehouseNumber

Warehouse.WarehouseNumber然後,將是多餘的。

1

我永遠不會在代碼中加前綴。您應該始終具有有意義的變量,屬性和方法名稱,使前綴變得冗餘。

var currentWarehouse = warehouseService.Find(id); 

var number = currentWarehouse.Number; 

var number = order.Warehouse.Number; 

我少對此事的決定,當談到將它們存儲在數據庫中。有什麼可說的:

select * 
from  dbo.Warehouse 
where WarehouseId in (
      select WarehouseId 
      from  ... 
     ) 
0

這是這些對象關係阻抗不匹配mofos之一。在OO中,肯定實體名稱的前綴似乎不適合。但是,在RDMBS中,實體前綴唯一標識一個屬性,並鼓勵避免這種情況:

SELECT PostCode --OMG !!!我來自哪張桌子! C.PostCode或S.PostCode ??!??!

FROM 客戶C

INNER JOIN供應商小號 ON C.PrefferredSupplierID = S.SupplierID

我的建議是隨便挑一個公約,它大致堅持。它是一個節約時間的公約!可能沒關係.. :)