首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过父对象修改子对象

通过父对象修改子对象
EN

Stack Overflow用户
提问于 2014-07-01 18:11:49
回答 1查看 573关注 0票数 0

我正在编写一个月支出申请,你在一个月中添加“支出”,这些支出包含了对支出和金额的描述。例如,你可能有2015年4月,其中有以下支出项目:

  • 汽车用新轮胎200美元
  • 水电费350元

等等。

我编写了以下内容,从而允许您将项目添加到月份

代码语言:javascript
复制
class ExpenditureMonth
{
    public function addExpenditureItem(String description, Money amount)
    {
        items.add(new ExpenditureItem(this, description, amount));
    }
}

因此,ExpenditureItem的对象创建发生在ExpenditureMonth中。一个支出月可以包含许多项目。

当帐户持有人已经支付了一个项目,它需要标记为已支付。

我将如何设置一个项目作为支付?

我唯一的想法是为一个ExpenditureItem设置一个标识符,并将这个实例传递给addExpenditureItem方法,但这对我来说似乎不对?!

EN

回答 1

Stack Overflow用户

发布于 2014-07-02 07:30:08

我以前也有过类似的question (请阅读答案)。

DDD中的,父根或聚合根的变化取决于有界上下文。因此,在您的示例中,这是您的上下文:

当帐户持有人已经支付了一个项目,它需要标记为已支付。

对于这个特定的上下文,支出项目现在是聚合根,现在它需要独立地标识ID。设置ID或GUID是普遍接受的解决方案,我不认为唯一地标识没有适当键的对象是可靠的。

但是,如果情况是“帐户持有人支付了他每月所有的未支付支出(或所有未支付的支出)”,那么对于这种情况,合计根是您的MonthlyExpenditure。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24516769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档