クラス名を単数形と複数形のどちらにするかを選択するのは常に困難です。
CustomerRepository vs. CustomersRepository CustomerService vs. CustomersService CustomerController vs. CustomersController
そして、合成名の場合はさらに困難です。
OrderCustomerRepositoryとOrderCustomersRepositoryとOrdersCustomersRepository
あなたはどのアプローチを好みますか、そしてその理由は?
私が複数形にする唯一のものはコレクションです。
foreach (var customer in customers)
{
// do something with customer
}
すべての例は個別のオブジェクトであるため、複数形ではありません。はい、名前は複数のインスタンスを持つ可能性のあるオブジェクトを参照していますが、名前で知っておく必要があるのはオブジェクトエンティティ(顧客)だけです。
したがって、すべての例で、単数形が正しい形式です。人生をずっと楽にします。
単数形を使用します。ねじを回す工具は「ねじ回し」ではなく「ねじ回し」と呼ばれます。
ただし、1つの値またはそれらのコレクションが返されるかどうかを示すために、それに応じてメソッド名とプロパティ名を複数形にしてください。
間違いなく特異です。 People
のオブジェクトを作成するのではなく、Person
オブジェクトのコレクションを作成します。複数形を使用するのは、静的クラス、つまりSupportServices
、StringUtils
などの場合のみです。ただし、この場合、クラスは何よりも名前空間として機能します。
クラスはオブジェクトのテンプレートであることを忘れないでください。だからあなたが参照しているオブジェクトについて考えてください。
多くの場合、特にORMエンティティの場合は、単一のエンティティです。時にはそれはコレクションかもしれません。
答えは文脈に固有のものだと思います。