Partage via


Conception de classes statiques

Remarque

Ce contenu est réimprimé avec l’autorisation de Pearson Education, Inc. à partir des Instructions de conception d’une infrastructure : conventions, idiomes et modèles des bibliothèques réutilisables .NET, 2ème édition. Cette édition a été publiée en 2008, et le livre a été entièrement révisé dans la troisième édition. Certaines informations de cette page peuvent être obsolètes.

Une classe statique est définie comme une classe contenant uniquement des membres statiques (outre les membres de l’instance hérités de System.Object et éventuellement un constructeur privé). Certains langages fournissent une prise en charge intégrée des classes statiques. Dans C# 2.0 et versions ultérieures, quand une classe est déclarée comme étant statique, elle est verrouillée (sealed), abstraite et aucun membre d’instance ne peut être écrasé ni déclaré.

Les classes statiques représentent un compromis entre la conception orientée objet pure et la simplicité. Elles sont généralement utilisées pour fournir des raccourcis vers d’autres opérations (comme System.IO.File), des détenteurs de méthodes d’extension ou des fonctionnalités pour lesquelles un wrapper orienté objet complet n’est pas justifié (comme System.Environment).

✔️ Utilisez les classes statiques avec parcimonie.

Les classes statiques doivent être utilisées uniquement comme des classes annexes pour le cœur orienté objet de l’infrastructure.

❌ Ne traitez PAS les classes statiques en tant que compartiment divers.

❌ Ne déclarez PAS ni remplacez des membres de l’instance dans les classes statiques.

✔️ Déclarez les classes statiques comme étant sealed, abstraites et ajoutez un constructeur d’instance privé si votre langage de programmation ne comprend pas la prise en charge intégrée des classes statiques.

Portions © 2005, 2009 Microsoft Corporation. Tous droits réservés.

Réimprimé avec l’autorisation de Pearson Education, Inc. et extrait de Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition par Krzysztof Cwalina et Brad Abrams, publié le 22 octobre 2008 par Addison-Wesley Professional dans le cadre de la série sur le développement Microsoft Windows.

Voir aussi