0

サーバー側のエンティティリポジトリの1つにメソッドがあるとします。

このメソッドは、Db内のFooエンティティをINSERTSまたはUPDATESします。

そして、このメソッドに名前を付ける必要があります。

命名規則の観点から、これらの名前の違いを説明できますか(ある場合)。

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

または、Dbに対してINSERTSまたはUPDATESのみを行うようなメソッドの命名規則は何ですか?

4

3 に答える 3

3

関数の目的は何ですか?それを保存する(または、必要に応じて永続化する)ためですよね?関数がそれを挿入または更新する必要があるかどうかはおそらく気にしないでしょう...それは抽象化されているので、それについて考える必要はありません。したがって、保存または永続化のどちらか好きな方と呼んでください。それは私の2セントです。

于 2012-12-20T10:21:46.320 に答える
1

チームで作業する場合は、最初にそこに規則があるかどうかを確認する必要があります。通常、何かの絶対的な最良の名前を見つけるよりも一貫性を保つことが重要だからです。

SaveまたはPersistを使用すると、前の状態について何も意味しないため、機能します。

Createを使用すると、アイテムがまだ存在しない、つまり挿入が存在しないことを意味します。

SaveOrUpdateを使用すると、アイテムがすでに存在することを意味するため、多少混乱する可能性がありますが、 Saveは状態について何も意味しないため、重複します。

おそらく、 InsertOrUpdateは代替、またはCreateOrUpdateになります。どちらも、挿入作成はアイテムがまだ存在しないことを意味し、更新はアイテムが存在することを意味するため、重複しないように機能します。また、名前が挿入と更新の両方を処理することを具体的に示しているため、保存永続化よりも正確です。

于 2012-12-20T10:33:50.717 に答える
0

.NET Frameworkを見ると、ConcurrentDictionary <、>は.AddOrUpdate()を使用しています

于 2012-12-20T14:40:41.393 に答える