對於域名實體,應該使用實體名稱作爲屬性名稱的前綴嗎? I.E.我的類倉庫有一個屬性WarehouseNumber。該屬性應該命名爲WarehouseNumber還是簡單的Number?域名實體名稱
想法?
對於域名實體,應該使用實體名稱作爲屬性名稱的前綴嗎? I.E.我的類倉庫有一個屬性WarehouseNumber。該屬性應該命名爲WarehouseNumber還是簡單的Number?域名實體名稱
想法?
我不喜歡使用前綴,我發現它更容易輸入,而且更易讀,實體的內容幾乎總是顯而易見的。
想想你代表的概念,它們出現的環境以及它們的相對頻率。
在這種情況下,這些數據是Warehouse
和Number
。在Warehouse
的情況下,Number
是合格的。在Warehouse
之外,WarehouseNumber
將被適當地限定,即Order.WarehouseNumber
。
Warehouse.WarehouseNumber
然後,將是多餘的。
我永遠不會在代碼中加前綴。您應該始終具有有意義的變量,屬性和方法名稱,使前綴變得冗餘。
var currentWarehouse = warehouseService.Find(id);
var number = currentWarehouse.Number;
或
var number = order.Warehouse.Number;
我少對此事的決定,當談到將它們存儲在數據庫中。有什麼可說的:
select *
from dbo.Warehouse
where WarehouseId in (
select WarehouseId
from ...
)
這是這些對象關係阻抗不匹配mofos之一。在OO中,肯定實體名稱的前綴似乎不適合。但是,在RDMBS中,實體前綴唯一標識一個屬性,並鼓勵避免這種情況:
SELECT PostCode --OMG !!!我來自哪張桌子! C.PostCode或S.PostCode ??!??!
FROM 客戶C
INNER JOIN供應商小號 ON C.PrefferredSupplierID = S.SupplierID
我的建議是隨便挑一個公約,它大致堅持。它是一個節約時間的公約!可能沒關係.. :)