领域驱动设计之工厂

领域模型包含领域对象,也就是实体、值对象、领域服务。领域对象除了包含状态信息外,还包含必要的业务逻辑。

为了能够使用这些领域对象,就需要实例化这些领域对象。实例化领域对象可以采用两种方式:

1.通过调用领域对象的构造函数对其进行实例化,比如Order order=new Order();

2.通过调用领域对象的工厂方法对其进行实例化,比如Order order=Order.CreateFactory();

一般情况下我们通过构造函数实例化就可以了,采用工厂方法对其进行实例化通常在以下两种场景中:

1.如果领域对象的构造比较复杂时,可以将构造过程封装到工厂内,这样就能够避免调用方直接通过复杂的方式构造领域对象,减轻调用方的负担。

2.需要对调用方隐藏领域对象的构造逻辑,保护领域层。

 

欢迎加入QQ讨论群:309287205

原文地址:https://www.cnblogs.com/malaoko/p/4994687.html