假设您在服务器端有一个方法,位于您的一个实体存储库中。
此方法在 Db 中插入或更新 Foo 实体。
你需要命名这个方法。
从命名约定的角度来看,您能否解释这些名称之间的差异(如果存在):
- SaveFoo(Foo foo)
- PersistFoo(Foo foo)
- CreateFoo(Foo foo)
- SaveOrUpdate(Foo foo)
或者对于仅对 Db 进行 INSERTS 或 UPDATES 的方法的命名约定是什么?
函数的目的是什么?保存(或坚持,如果你愿意),对吧?您可能不在乎该函数是否必须插入或更新它……这是抽象的,因此您不必考虑它。因此,只需将其称为“保存”或“持久”,无论您喜欢哪个。那是我的两分钱。
如果您在一个团队中工作,您应该首先尝试找出那里是否有约定,因为保持一致通常比为某事找到绝对最佳名称更重要。
使用Save或Persist会起作用,因为它们并不暗示有关先前状态的任何内容。
使用Create意味着该项目不存在,即插入。
使用SaveOrUpdate可能会有些混乱,因为Update暗示该项目已经存在,但Save并不暗示有关状态的任何内容,因此它们重叠。
也许InsertOrUpdate将是一个替代方案,或者CreateOrUpdate。两者都可以工作,因为Insert和Create暗示该项目尚不存在,而Update暗示它确实存在,因此它们不会重叠。它们也比Save或Persist更精确,因为名称特别说明它们同时处理插入和更新。
查看 .NET Framework,ConcurrentDictionary<,> 使用 .AddOrUpdate()