後者是可怕的。它建模具有銷售訂單的東西,而銷售訂單又由對象建模 - 不建模具有銷售訂單對象的東西。
「BusinessObject的」只應該在你的代碼的東西的名稱,如果你正在寫一個工具,開發人員,幫助他們處理業務對象。
前者往往是不錯的。
如果可能有多個SalesOrder
即使一個是「主」,也會引起混淆。然而一個SalesOrders
屬性,該屬性是SalesOrder
對象的枚舉或收好(當英文複數是不是「S」奇異+形式,使用真正的複數而不是僅僅加入S,除非它是一個情況下英文複數是一樣的奇異
這是不到偉大的,當一切是與銷售相關的EG,這是可怕的:。
public class Sale
{
public SalesOrder SalesOrder{get;set;}
public SalesReference SalesReference{get;set;}
public decimal SalesValue{get;set;}
public string SalesCurrency{get;set;}
}
在這種情況下,我會削減從每個「銷售」 。酒店的名稱,而不是(必然)從類名
然而,這是它是更好的情況下:
public class Sale
{
public SalesOrder SalesOrder{get;set;}
public StockOrder StockOrder{get;set;}
}
總之,接近它的方式是:
- ,這是什麼類做什麼是最好的名字,是區別於其他什麼類做(因此,沒有「對象」 ,「商業對象」,「實體」或類似商品,除非在特定情況下確實與此特別相關)。
- 該屬性反映的最好名稱是什麼,區別於其他屬性。
如果它們最終在特定情況下給出相同的名稱,那麼很好(除非它是嵌套類,當它是模糊的和非法的)。如果他們最終給出一個不同的名字,那麼也可以。
在這種情況下,我正在考慮它實際上是一個用戶控件。該控件被稱爲SendEmail.ascx。那麼這個用法會讀取'SendEmail。訂單' – Will
然後你應該將UI與業務邏輯分開,創建一個'Sale'類(或其他)。 –
是的。 SalesOrder是一個完全獨立的類,擁有自己的一組屬性和數據訪問方法,我使用此屬性來跟蹤回發中的SalesOrder。 – Will