我在项目中有一个Customer业务实体Domain,我想DomainService根据它的属性在项目中实例化它。有些业务逻辑在创建时需要强制执行,例如Salary依赖FirstName(仅示例)。我不希望它的设置器公开而失去封装。
如何在不丢失封装的情况下实例化/初始化它。设置器的私有可以更改,而不是公开的。
public class Customer
{
public int Id { get; private set; }
public string Firstname { get; private set; }
public string Surname { get; private set; }
public decimal Salary { get; private set; }
//... other properties
}