我在项目中有一个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
}