[英]Encapsulate responsiblity of class
我需要协助。 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;}
}
我们需要更多背景信息才能给您一个很好的答案。 假设客户总是需要一个帐户(这只是一个假设),那么我将在客户构造函数中处理这个问题。 尽管还不知道类的结构,所以这是一个猜测。 它还取决于帐户和客户之间的关系。
这取决于此:销毁客户时是否必须销毁帐户? 如果是这样,则可以在构造函数中创建帐户。 如果帐户的“生存期”比客户长,则必须在客户外部创建该帐户。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.