Heim >Backend-Entwicklung >C++ >Wie kann das „Passkey'-Muster von C 11 die Zugriffskontrolle verbessern?
In einer vorherigen Diskussion stellte Matthieu M. eine Technik für den Zugriffsschutz vor, die auf schlüsselorientierter Redewendung basiert. Obwohl das Muster bereits zuvor angetroffen wurde, wurde es nicht explizit als solches erkannt.
Das Konzept beinhaltet die Definition einer Klasse (SomeKey) als Schlüssel, der Zugriff auf eine geschützte Methode (protectedMethod) in einer separaten Klasse (Bar) gewährt. nur an die Klassen, die mit der Schlüsselklasse befreundet sind (in diesem Beispiel Foo). Während Foo protectedMethod mithilfe einer Schlüsselinstanz aufrufen kann, ist der Zugriff auf Klassen, denen eine solche Freundschaft fehlt, wie z. B. Baz, eingeschränkt.
Dieser Ansatz ermöglicht eine fein abgestimmte Zugriffskontrolle, die über die Notwendigkeit hinausgeht, Foo als zu kennzeichnen Freund von Bar oder die Verwendung komplizierterer Proxy-Muster.
Musteridentifizierung
Die referenzierte Technik ist heute allgemein als „Passkey“-Muster bekannt. Dieser Name stellte sich bei späteren Anfragen als am häufigsten heraus.
C 11 Vereinfachung
In C 11 wird das Muster noch eleganter. Anstatt b.protectedMethod(SomeKey()); aufzurufen, können Sie einfach b.protectedMethod({}); schreiben, was die Implementierung noch einfacher macht.
Das obige ist der detaillierte Inhalt vonWie kann das „Passkey'-Muster von C 11 die Zugriffskontrolle verbessern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!