私は、ベンダーの 1 つがデータベース内のデータにアクセスするために使用する API を開発しており、クラスに名前を付ける必要があります。Retriever、Accessor、Controller などの名前を考えています (例: TimesRetriever、TimesAccessor、TimesController など)。これらのクラスは、データベース内のデータ (要約します) への読み取り専用アクセスを提供します。私が説明したものについて、一般的に合意された命名規則はありますか?
5 に答える
Martin Fowler (www.martinfowler.com) は、これらの種類の質問の良い情報源です。なぜなら、あなたは本当にデザインパターンについて話しているからです。
私の最善の推測は、リポジトリ パターン ( http://martinfowler.com/eaaCatalog/repository.html ) です。
サイトから:
概念的には、リポジトリは、データ ストアに永続化された一連のオブジェクトとそれらに対して実行される操作をカプセル化し、永続化レイヤーのよりオブジェクト指向のビューを提供します。
あなたがやろうとしていることのように聞こえます。
簡単な提案...「データベース」と呼んでみませんか? それはあなたが得ることができるほど明確です。これを読むと、すべてのデータがどこから来ているかすぐにわかります。
私は、人々が「マネージャー」というサフィックスを使用しているのを最もよく見てきました。また、just_wes によって提案されているように、人々がデータベースを使用しているのを見てきました。例: TimesManager または TimesDatabase または単にデータベース。
LLBLGen Proでは「アダプター」と呼ばれています
Delphi DataSnap および Java SDO では Provider と呼ばれます
一般的に合意された命名規則はないと思います。
Provider または Retriever を使用する傾向があります。
「コントローラー」は、別の意味で使用されます。「アクセサ」はDBアクセスクラスによく使われます。この種のことについては、一般的にレポートと考えています。言い換えれば、DB へのフル アクセスを許可するのではなく、特定の選択に基づいてレポートを表示しているだけです (私が推測します)。したがって、出力形式が許す場合 (特に CSV の場合)、プロジェクト全体をレポートを実行するための API として言い換えます。それが不可能な場合は、「アクセサー」を使用します。