是否允许DDD Factory直接为域对象设置属性? 如:
public class DomainObjectFactory
{
public DomainObject CreateForUser(int userId)
{
var domainObject = new DomainObject();
domainObject.UserId = userId;
}
}
答案 0 :(得分:4)
创建域实体的常规方法是使用构造函数执行此操作。因此,您通过一个或多个构造函数接受所需的参数。
如果您使用域名工厂,那么没有任何改变。当实体创建更复杂时使用域工厂,例如,从多个对象或创建过程中涉及某些逻辑,但您仍然可以使用实体的构造函数来创建它们。