我有一个领域建模的案例:有两个领域的概念,工作场所和合同。每一份合同都属于某个工作地点。我已经发现,这两个概念都是自己的聚合,但仍然有业务规则,合同的有效期必须始终在工期内的工作地点。那么如何才能保持这种一致性呢?
好的,当我创建一个新合同时,我可以这样做:
public class Worksite {
private Period period;
public Contract createContract( Period period, ... ) {
if ( !this.period.inside( period ) ) ) {