2016-10-04 87 views
0

是否允许DDD Factory直接为域对象设置属性? 如:DDD工厂和域对象属性

public class DomainObjectFactory 
{ 
    public DomainObject CreateForUser(int userId) 
    { 
     var domainObject = new DomainObject(); 
     domainObject.UserId = userId; 
    } 

} 
+0

这意味着你不会遵循永远有效的范例。我倾向于赞成这种方法,但不是每个人都这样做。 – plalx

回答

4

正常途径创建域实体将与构造(或多个)这样做。所以你通过一个或多个构造函数接受所需的参数。

如果您使用域工厂,没有任何更改。当实体创建更加复杂时,例如从多个对象创建时,或者在创建过程中涉及一些逻辑的情况下,将使用一个域工厂,但仍然会使用实体的构造函数来创建它们。