Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Remarque
Ce contenu est réimprimé avec l’autorisation de Pearson Education, Inc. tiré de Lignes directrices de conception de framework : Conventions, Idiomes et Modèles pour les bibliothèques .NET réutilisables, 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.
Le principe de l’encapsulation est l’une des notions les plus importantes dans la conception orientée objet. Ce principe indique que les données stockées à l’intérieur d’un objet doivent être accessibles uniquement à cet objet.
Un moyen utile d’interpréter le principe consiste à dire qu’un type doit être conçu afin que les modifications apportées aux champs de ce type (noms ou modifications de type) puissent être effectuées sans rupture de code autre que pour les membres du type. Cette interprétation implique immédiatement que tous les champs doivent être privés.
Nous excluons les champs constants et statiques en lecture seule de cette restriction stricte, car ces champs, presque par définition, ne sont jamais nécessaires pour changer.
❌ Ne fournissez pas de champs d’instance publics ou protégés.
Vous devez fournir des propriétés pour accéder aux champs au lieu de les rendre publics ou protégés.
✔️ Utilisez des champs constants pour les constantes qui ne changeront jamais.
Le compilateur brûle les valeurs des champs const directement dans le code appelant. Par conséquent, les valeurs const ne peuvent jamais être modifiées sans risque de rupture de compatibilité.
✔️ Utilisez des champs statiques readonly publics pour les instances d’objet prédéfinies.
S’il existe des instances prédéfinies du type, déclarez-les en tant que champs statiques en lecture seule publique du type lui-même.
❌ N’affectez pas d’instances de types mutables aux readonly champs.
Un type mutable est un type avec des instances qui peuvent être modifiées après leur instanciation. Par exemple, les tableaux, la plupart des collections et les flux sont des types mutables, mais System.Int32, System.Uriet System.String sont tous immuables. Le modificateur en lecture seule sur un champ de type référence empêche l’instance stockée dans le champ d’être remplacée, mais elle n’empêche pas la modification des données d’instance du champ en appelant les membres qui modifient l’instance.
Portions © 2005, 2009 Microsoft Corporation. Tous les droits réservés.
Réimprimé par l’autorisation de Pearson Education, Inc. tiré de Framework Design Guidelines : Conventions, Idioms et Patterns pour les bibliothèques .NET réutilisables, 2e édition par Krzysztof Cwalina et Brad Abrams, publié le 22 octobre 2008 par Addison-Wesley Professional dans le cadre de la Série de développement Microsoft Windows.