問題タブ [delegation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3064 参照

python - 委任と継承のPython

Pythonで委任に出くわしたばかりで、委任と継承の違いに頭を悩ませることはできません。なぜ継承ではなく委任を使用したいのでしょうか?

0 投票する
1 に答える
195 参照

ruby-on-rails - 2 つのモデル間で委任方法を共有する

モデル A とモデル B は、次の委任方法を共有します。

各クラスで同じメソッドを繰り返す必要がないように、2 つのクラスで DRY の方法でそれらを共有する最善の方法は何ですか?

0 投票する
2 に答える
1190 参照

iphone - iPhone GoogleAnalyticsSDKデリゲートと複数のアカウントの問題

iPhoneアプリケーションにGoogleAnalyticsSDKを実装しています。私はそれを次のコードで動作させました:

私の分析アカウントでは、必要な結果が得られていました。次に、追跡データを2番目の分析アカウントにも送信することにしました(理由は聞かないでください)。好奇心旺盛な方へ:1つのアカウントはWebページとiPhoneアプリの統計に使用され、もう1つのアカウントはiPhone専用であると想定されています。

私の独創的な計画は、最初のsharedTrackerを作成し、それをディスパッチし、停止して、2番目のものについても同じことを行うことでした。

何がディスパッチされているかを把握し、SDKが2つの異なるリクエストを行っているかどうかを確認するために、デリゲートメソッドを追加しましたが、デリゲートメソッドを呼び出せないようです。2番目のトラッカーのコードを削除しても、ディスパッチ期間を0(および手動ディスパッチ呼び出しでは-1)に設定しようとしましたが、これもうまくいきませんでした…</ p>

だから、私の質問は次のとおりです:2つのgAnalyticsアカウントを実装する方法と、デリゲートメソッドに想定どおりの動作をさせる方法-ディスパッチ後に呼び出されます:)

よろしくお願いします、ルカ

0 投票する
2 に答える
3236 参照

perl - Mooseを使用したPerl OO - 委譲の例をコーディングする最良の方法は?

Perl の Moose は他のオブジェクト システムとは異なるため、他の言語で知られている例を Moose 用語に翻訳する方法が常に明確であるとは限りません。次の Rectangle と Square の Java の例を考えてみましょう。ここでは、Square インスタンス (正方形は特殊な長方形) が area() の呼び出しを、プライベート参照を保持する Rectangle のインスタンスに委譲します。

私は次の Perl/Moose/Mouse バージョンをまとめましたが、これが正しい方法かどうか確信が持てないため、これらのホールに集まった専門家ギルドの判断に委ねます。

これは機能しますが、Moose の動作をあまり見たことがないので、これが正しい方法なのか、それとももっと簡単な方法があるのか​​はわかりません。フィードバック、または Moose のユーザー レベルの議論を進めるための指針をありがとうございます。

0 投票する
3 に答える
2487 参照

ruby - 付属のブロックを通過する呼び出しを委任するにはどうすればよいですか?

私はオブジェクト グラフをトラバースしていて、メソッドから構造の各ノードで実行されるブロックを渡したいと考えています

上部では、ブロックを使用して呼び出しを行います。ルート オブジェクトを訪問するための最初の呼び出しを、他のオブジェクトを訪問するように委任したいと考えています。&last_parameter_name を使用してローカルでブロックを proc にアンパックできますが、委譲された呼び出しで proc をブロックに戻すにはどうすればよいですか?

これは、 first(...)を呼び出し、ブロックをsecond(...)への呼び出しに委譲する簡単な例です。

注: ここでは、first() と second() で同じ規則を使用する必要があります。つまり、同じものを使用する必要があります。

答えを読んで試してみたので、より完全で実用的な例を思いつきました:

0 投票する
4 に答える
549 参照

iphone - Objective-C、CLLocationManagerでの委任に関する質問

委任がどのように機能するか少し混乱しています。別のクラスにあなたのために仕事をさせて、あなたに電話をかけ直すという考えだと思います。したがって、次のようなことをした場合:

viewDidLoadで座標をNSLogすると、startUpdatingLocationでも、locationCoordinateプロパティの値は0になります。ただし、デリゲートメソッドの値を次のようにNSLogすると、次のようになります。

実際の場所の値を取得します。デリゲートメソッドを使用すると、locationPropertyが設定されると思いましたが、そうではないようです。委任を正しく理解していませんか?ありがとう。

0 投票する
1 に答える
683 参照

ldap - Java での SPNEGO と委任

SPNEGO を使用して webapp を認証します。サーバー側で LDAP への認証にチケット委任を使用したいと考えています。ただし、ログイン (kinit) はクライアント側で行われるため、サーバー側にはチケット キャッシュはありません。どうすれば sso できますか?

p>

0 投票する
1 に答える
181 参照

delegates - なぜクラスの委任はそれほど謎めいたのですか?

これはおそらく、誰もが額を叩いて「Duhhhhh!」しかし、数え切れないほどのブラッドラーソンのビデオを読んだり見たりする長い呪文の後、私は、一般的な代表団、特にCALayerの代表団がなぜそのような謎めいたテーマであるように見えるのか戸惑いました。

高度なカプセル化が必要な場合を除いて、すべての本とDr Larsonは、「CALayersをサブクラス化しない」ことについて大げさに言っていますが、CALayerの委任が提供できる利点の簡潔で的確な例はどこにも見つかりません。誰もが、ホストビューコントローラーオブジェクトを一種の機能的なデリゲートとして使用するか、「達成できることの簡単な例として」アプリデリゲートにすべてをシャベルで入れるかのいずれかを使用しているようです。

私は「ベストプラクティス」を前もって学ぼうとしています。なぜなら、私はとても新しいので、悪いプログラミングやだらしないプログラミングの特徴を開発したくないからです。そのため、私がとる新しいステップを1分ごとに調べたいと思っています。詳細。私が収集できることから、CALayerデリゲートクラスには約3つのデリゲート固有のメソッドしかありません。これらは、「displayLayer:」、「drawLayer:InContext:」、および「actionForLayer:ForKey:」です。Opacityで生成されたQuartzのものでは、実行時に操作したい色変数を使用しており、CALayerをサブクラス化せずに操作しています。キーと値のペアを使用することの副作用の1つは、色を識別するために使用されるキー値に従って色の初期値を記述する「defaultValueForKey:」と呼ばれるクラスメソッドが存在することです。これは(明らかに)CALayerデリゲートメソッドではありません。では、CALayerをサブクラス化せずに、このコードを実装するにはどうすればよいでしょうか(結局、デフォルト値のみを設定します)。デリゲート固有のメソッドがいくつか必要な場合は、デリゲートは問題ないようです。

委任を実装するときに、Appleのボフィンが、メソッド定義のコンパイル単位をクラス単位から割り当てられた委任単位に単純に転置しなかった理由を誰かが説明できますか。たとえば、フレーズによってクラス(またはサブクラス)で通常使用可能なすべてのメソッドの前に初期パラメーターを配置するだけです。'forLayer:(CALayer *)TheRest:OfThe:メソッド'?このように、単純なスイッチまたはif-thenスタックは、通常のメソッドを適用できます-クラスのryを1つの集中化されたオブジェクト-デリゲートに。

最初に言ったように、私はおそらくかなり基本的なものが欠けていますが、CALayerをサブクラス化せずにすべてのKey-Valueカラー変数initを実装する方法を誰かに教えてもらえますか?

よろしくお願いします、VV

0 投票する
1 に答える
783 参照

java - Delegation Event Model パターン Java

このパターン Delegation Event Model を適用する場合、すべてのコードをfire...メソッドに配置し、パブリック メソッドからパラメーターを渡すのは正しいですか?

このような

addBananasまたは、代わりにメソッドのこの例のリスト部分に追加する必要がありますか? このようにすると、リスナーに渡されるイベントオブジェクトにバナナオブジェクトを「アタッチ」する機会がなくなるからですよね?

0 投票する
1 に答える
621 参照

asp.net - ASP.NET-ネストされたユーザーコントロールを使用してイベントを伝達する方法

ページにネストされたコントロールがあります。元:

子コントロールがイベントを発生させるとき、ページでそのイベントを処理する必要があります。これを行うための良い方法は何ですか?

イベントとデリゲートは、ここで使用することをお勧めします。

だから私は私のページのPage_Initで次のことをしようとしています:

これを行うための良い方法は何ですか?