gpt4 book ai didi

c# - 推荐哪种方法 : aggregateRoot. Items.Add(...) or aggregateRoot.AddItem(...)

转载 作者:太空宇宙 更新时间:2023-11-03 11:53:56 25 4
gpt4 key购买 nike

在 DDD 世界中推荐哪种方法......为什么?

  1. aggregateRoot.Items.Add(...)
  2. aggregateRoot.AddItem(...)

我认为第一个选项更好,因为它与无处不在的语言更相关。

我应该在 aggregateRoot 上公开一个只读的 (IEnumerable) 集合和一些 AddItem()/RemoveItem()/等(选项 1)还是公开一个强类型的集合(我不喜欢公开 IList< T > 甚至更糟, List< T >) 支持添加/删除/等(选项 2)。

最佳答案

两者都有各自的用途,具体取决于您要向用户呈现的 API 类型。

如果您正在封装一个您不希望用户直接访问的集合,那么您可以使用 AddItem() 作为一种相当容易 self 发现的方法来帮助用户向其中添加项目。

如果您的对象按原样公开集合,那么 Items.Add() 是一致的集合行为,可能是最佳选择。

关于c# - 推荐哪种方法 : aggregateRoot. Items.Add(...) or aggregateRoot.AddItem(...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1236351/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com