きむすびにしていただきました違いはC#の代表者、代理人の閉鎖と機能のポインタ?
-
11-09-2019 - |
質問
何に役立つ定義のための共通方法を渡す方法として機能しデータなど
- 代表者
- 閉鎖
- 関数ポインタ
- 呼び出しによる動的プロキシ、
- 最初の授業の方法を教えてください。
解決
関数ポインタ きパス機能のように変数です。関数ポインタは基本的に従来のメソッドにパス機能の周辺言語のことな支援の一方法などのC/C++.
最初の授業の方法 基本的にはできるということですパス機能のように変数です。方法(緩やかにという意味を持ちます。この基本的手段 最初のクラスの機能.簡単ではの機能として扱われ"第一級の市民"のような変数です。旧日(C/C++)できません直接パス機能で、またリゾートへの回避策のような機能へのポインタがこの機能な最初のクラス。
代表者 はC#の回答をクラス。代表者はやや強力なのでは 閉鎖, 配慮し、以下のコードスニペット:
void foo( int a )
{
void bar() { writefln( a ); }
call( &bar );
}
void call( void delegate() dg ) { dg(); }
int main( char[][] args ) {
foo( 100 );
}
通知する bar
できる基準のローカル変数 a
ので代表で使用を抑止するためには、必要か
閉鎖 できる非常に混乱します。がテーマの定義内容は、簡単なもので良い。基本的にきれいでという変数でご利用できる人を期待する。入れその変数を参照できる場所としてとらえていたような現状を読み込む構造になソースコード。例えば、コードの抜粋です。されていなかったの閉鎖 bar
ないという参考 a
ので a
った地 foo
, がない bar
, は、別の機能です。
動的プロキシ はい。でも属していない。説明が必要なのでとても長い。から有名な プロキシンパターン.問題はプロキシンパターンのプロキシクラスのニーズを実施と同じインタフェースです。動的プロキシ基本的に使用することを反射アプローチの発見の方法にProxyPatternきから解放されたのに縛られ、Subjectのインタフェース。
他のヒント
でものん:
- 関数ポインター:ただ、ポインタのコードです。ジャンプするので、それが実行.入力言語で実施できるパラメータを通過条約(Cの宣言)
- 閉鎖:機能の一部状態の組で行動する。最も自然に書語彙的に小scopedの言語(すなわちスキーム、JavaScript、Lua).複数の閉鎖を共有できるときと同じ状態で(または一部られているので、簡単に実施OOP.
- 最初のクラスメソッド:閉鎖を作成することにより、オブジェクトインスタンスメソッドになっています。一部の言語の両方で閉鎖およびネイティブOOP(Python,JavaScript)を作成でき止めます。
閉鎖は、プログラミング言語の概念です。デリゲートはMS.NETでその実現である。
MS.NETにデリゲートは、オブジェクトのメソッド( - オブジェクトとその方法の両方にデリゲートインスタンス点)に強く型付けされたポインタです。一つに、いくつかのボイドデリゲートのインスタンスを結合する方法もあります。