我需要一些帮助。 Iam实现用户故事,在创建新客户时,还为他创建了新帐户。创建帐户并将其分配给财产是客户责任(在客户构造函数中创建帐户)还是应该使用某些域服务类作为某种租户创建处理器,其中还会执行验证逻辑?
修改
创建客户时,也会为他创建客户帐户。客户帐户本身不存在(没有客户)。但我还需要在应用程序中使用Accounts elswhere,我应该将该帐户视为实体吗?
我部分解决就像
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;}
}
答案 0 :(得分:1)
为了给你一个好的答案,我们需要更多的背景。假设客户总是需要一个账户(这只是一个假设),那么我将在Customer构造函数中处理这个问题。还没有弄清楚你的课程是如何构建的,所以这是一个猜测。它还取决于账户和客户之间的关系。
答案 1 :(得分:0)
这取决于:当客户被销毁时,是否必须销毁帐户?如果是,则可以在构造函数中创建帐户。如果帐户“存活”的时间比客户长,则必须在客户之外创建帐户。