キー指向のアクセス保護の再利用性に関する以前の質問への回答アクセス保護パターンについて、このディスカッションでは改善点と潜在的な機能拡張について調査します。
標準 C 03 のパターンを強化するために、マクロベースのソリューションが導入されています。このアプローチでは、テンプレート パラメーターを拡張するための EXPAND と、フレンド クラスでパスキーを定義するための PASSKEY マクロが導入されます。これによりパスキーの定義が簡素化されますが、それでも呼び出し元は必要なパスキーを指定する必要があります。さらに、マクロ構文は煩雑であると考えられる場合があります。
C 0x では、パターンを簡素化する大幅な進歩が導入されています。可変引数テンプレートを使用すると、関数が独自のパスキーを宣言し、テンプレート パラメーターをフレンドにできるようになります。これらの機能により、表現力が高く汎用的なソリューションが可能になります。
更新されたパターンでは、パスキー テンプレートとallow クラスが利用されます。 passkey はそれ自体を特定のクラスまたは関数に関連付け、そのクラスまたは関数の排他的アクセスを許可します。 allow は、テンプレート パラメーターで指定されたキーに基づいて、パスキーが承認されていることを確認します。
C 0x ソリューションには、次のようないくつかの利点があります。
標準 C 03 および C 0x に対して提案されている改善により、キー指向の再利用性と表現力が大幅に向上します。アクセス保護パターン。特に C 0x ソリューションは、非常に汎用的で便利な実装を提供します。
以上がC 03 および C 0x でキー指向のアクセス保護をどのように改善できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。