Maison > Article > développement back-end > Comment une classe proxy peut-elle appliquer une restriction de chiffres binaires dans un tableau ?
Le rôle de la classe proxy en C
En génie logiciel, une classe proxy est un concept utilisé pour négocier l'accès à un objet existant, appelé le « sujet ». La classe proxy fournit une interface modifiée, permettant une interaction contrôlée et souvent limitée avec le sujet.
Objectif des classes proxy
Les classes proxy sont créées pour diverses raisons, notamment :
Exemple : Restriction de chiffres binaires
Considérons l'exemple suivant :
struct array1 { int mArray[10]; int &operator[](int i) { /// what to put here } };
Dans ce Par exemple, nous souhaitons modifier la classe Array de telle sorte qu'elle ne puisse contenir que des chiffres binaires (1 ou 0). L'implémenter directement dans la méthode Operator[] du Array ne serait pas réalisable car il ne peut pas accéder à la valeur stockée.
Pour résoudre ce problème, nous pouvons introduire une classe proxy :
struct aproxy { aproxy(int& r) : mPtr(&r) {} void operator = (int n) { if (n > 1 || n < 0) { throw "not binary digit"; } *mPtr = n; } int * mPtr; }; struct array { int mArray[10]; aproxy operator[](int i) { return aproxy(mArray[i]); } };
Dans dans ce cas, la classe Proxy (aproxy) vérifie les valeurs non valides (chiffres non binaires) et renvoie une exception si elle est rencontrée. En faisant en sorte que l'opérateur [] du tableau renvoie une instance de la classe Proxy, nous appliquons la restriction des chiffres binaires tout en autorisant l'accès aux éléments du tableau.
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!