我需要一些幫助。 Iam實施用戶故事,在創建新客戶時,還爲他創建新帳戶。如果創建賬戶並將其分配給財產是客戶責任(在客戶構造函數中創建賬戶),還是應該使用某些域服務類作爲某種形式的驗證邏輯的承租人創建處理器?封裝類的責任
編輯:
當創建了客戶,也爲他創建的客戶帳戶。客戶賬戶不存在(沒有客戶)。但是我還需要在應用程序的其他地方使用帳戶,我應該將該帳戶視爲實體嗎?
我partialy解決像
public class Customer:EntityBase<Customer>
{
public Customer(...)
{
...
Account = new Account(this);
}
public Account Account {get; private set;}
}
public class Account
{
public Account(Customer customer)
{
if(customer.Account!= null) {throw ...}
AccountOwner = customer;
}
public Customer AccountOwner {get;private set;}
}
聚集體(以及它們內部的實體)與不變量/行爲有關。到目前爲止,你已經描述了一點。您似乎將這些概念,客戶和客戶賬戶視爲結構性事物。正如丹尼爾所說,你沒有給我們太多的東西繼續下去。我建議你看一下CRC卡(http://en.wikipedia.org/wiki/Class-responsibility-collaboration_card)來模擬更多的行爲。 – 2012-02-27 17:08:24