Il m'est toujours difficile de choisir entre des formes singulières et plurielles pour les noms de classes:
CustomerRepository vs. CustomersRepository CustomerService vs. CustomersService CustomerController vs. CustomersController
Et pour les noms composites, c'est encore plus difficile:
OrderCustomerRepository vs OrderCustomersRepository vs. OrdersCustomersRepository
Quelle approche préférez-vous et pourquoi?
La seule chose que je pluralise, ce sont les collections.
foreach (var customer in customers)
{
// do something with customer
}
Tous vos exemples sont des objets individuels, ils ne sont donc pas pluralisés. Oui, les noms font référence à des objets qui peuvent avoir plusieurs instances, mais tout ce que vous devez savoir dans le nom est l'entité objet (c'est-à-dire le client).
Donc, dans tous vos exemples, le singulier est la forme correcte. Rend la vie beaucoup plus facile.
Utilisez au singulier. L'outil pour tourner les vis est appelé "tournevis" et non "tournevis".
Cependant, pluralisez vos noms de méthode et de propriété en conséquence, pour indiquer si une valeur ou une collection d'entre eux sera retournée.
Certainement singulier. Vous ne créez pas d'objet People
, vous créez une collection d'objets Person
. La seule fois où j'utiliserais des pluriels serait pour des classes statiques, c'est-à-dire SupportServices
, StringUtils
, etc. Cependant, dans ce cas, la classe agit plus comme un espace de noms qu'autre chose.
N'oubliez pas qu'une classe est un modèle pour un objet. Pensez donc à l'objet auquel vous faites référence.
Il s'agit souvent d'une entité singulière, en particulier lorsqu'il s'agit d'une entité ORM. Parfois, il peut s'agir d'une collection.
Je pense que la réponse est spécifique au contexte.