Maison > développement back-end > C++ > Comment le modèle « Clé d'accès » de C 11 peut-il améliorer le contrôle d'accès ?

Comment le modèle « Clé d'accès » de C 11 peut-il améliorer le contrôle d'accès ?

Mary-Kate Olsen
Libérer: 2024-11-02 18:53:30
original
828 Les gens l'ont consulté

How Can C  11's

Protection d'accès via un idiome orienté clé

Dans une discussion antérieure, Matthieu M. a présenté une technique de protection d'accès basée sur un usage idiomatique orienté clé. Bien qu'il ait été rencontré précédemment, le modèle n'avait pas été explicitement reconnu comme tel.

Le concept consiste à définir une classe (SomeKey) comme une clé, qui accorde l'accès à une méthode protégée (protectedMethod) dans une classe distincte (Bar). uniquement aux classes qui sont amies avec la classe clé (Foo dans cet exemple). Plus précisément, même si Foo peut invoquer protectedMethod à l'aide d'une instance de clé, les classes dépourvues d'une telle amitié, comme Baz, ne peuvent y accéder.

Cette approche permet un contrôle d'accès précis, dépassant le besoin de désigner Foo comme instance de clé. ami de Bar ou en utilisant des modèles de proxy plus complexes.

Identification des modèles

La technique référencée est maintenant largement connue sous le nom de modèle « clé d'accès ». Ce nom est apparu comme le plus répandu lors des enquêtes ultérieures.

Simplification C 11

En C 11, le motif devient encore plus élégant. Au lieu d'appeler b.protectedMethod(SomeKey());, vous pouvez simplement écrire b.protectedMethod({});, améliorant encore sa facilité de mise en œuvre.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal