Domain driven design 域内的域服务或方法

Domain driven design 域内的域服务或方法,domain-driven-design,Domain Driven Design,我有两个纠结的根源,博纳程序和广告商。现在的规则是广告商一次只能有一个奖金计划。现在给广告客户分配bonusProgram,我应该怎么做,我在广告客户中有这样的方法吗 public virtual void AssignBonusProgram(BonusProgram bonusProgram) { this.bonusProgram = bonusProgram; } 或者我是否创建了域服务并在中使用了类似的方法 public void Sub

我有两个纠结的根源,博纳程序和广告商。现在的规则是广告商一次只能有一个奖金计划。现在给广告客户分配bonusProgram,我应该怎么做,我在广告客户中有这样的方法吗

    public virtual void AssignBonusProgram(BonusProgram bonusProgram)
    {
        this.bonusProgram = bonusProgram;
    }
或者我是否创建了域服务并在中使用了类似的方法

   public void SubscribeToBonusProgram(BonusProgram bonusProgram, Advertiser advertiser)
   {

   }

在这种情况下,服务将是一种过度消耗。您的
bonusProgram
不是一个集合,这一事实已经抓住了您的业务规则

。。。规则是广告客户一次只能获得一笔奖金 时间

你们的实现告诉我,广告客户可能并没有相关的奖金计划。如果不是这种情况,您可以简单地检查null并抛出ArgumentNullException。域服务经常被误用,首先尝试将逻辑放在一个实体或值类型中可能是一个好主意。并且仅当逻辑在概念上不属于任何实体时才使用