0

假设您在服务器端有一个方法,位于您的一个实体存储库中。

此方法在 Db 中插入或更新 Foo 实体。

你需要命名这个方法。

从命名约定的角度来看,您能否解释这些名称之间的差异(如果存在):

  • SaveFoo(Foo foo)
  • PersistFoo(Foo foo)
  • CreateFoo(Foo foo)
  • SaveOrUpdate(Foo foo)

或者对于仅对 Db 进行 INSERTS 或 UPDATES 的方法的命名约定是什么?

4

3 回答 3

3

函数的目的是什么?保存(或坚持,如果你愿意),对吧?您可能不在乎该函数是否必须插入或更新它……这是抽象的,因此您不必考虑它。因此,只需将其称为“保存”或“持久”,无论您喜欢哪个。那是我的两分钱。

于 2012-12-20T10:21:46.320 回答
1

如果您在一个团队中工作,您应该首先尝试找出那里是否有约定,因为保持一致通常比为某事找到绝对最佳名称更重要。

使用SavePersist会起作用,因为它们并不暗示有关先前状态的任何内容。

使用Create意味着该项目不存在,即插入。

使用SaveOrUpdate可能会有些混乱,因为Update暗示该项目已经存在,但Save并不暗示有关状态的任何内容,因此它们重叠。

也许InsertOrUpdate将是一个替代方案,或者CreateOrUpdate。两者都可以工作,因为InsertCreate暗示该项目尚不存在,而Update暗示它确实存在,因此它们不会重叠。它们也比SavePersist更精确,因为名称特别说明它们同时处理插入和更新。

于 2012-12-20T10:33:50.717 回答
0

查看 .NET Framework,ConcurrentDictionary<,> 使用 .AddOrUpdate()

于 2012-12-20T14:40:41.393 回答