問題タブ [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 投票する
7 に答える
1269 参照

c++ - C ++/Javaの継承と委任となど

可能なカスタマイズのための多くの異なるオプションを備えたクラスライブラリを作成しています。たとえば、FeatureX()を実行できるようにクラスを設計したり、FeatureY()を実行できるようにクラスを設計したりできます。

通常の状況では、FeatureXと呼ばれる純粋仮想メソッドを使用してインターフェイスIFeatureXを作成し、FeatureYと呼ばれる純粋仮想メソッドを使用して別のインターフェイスIFeatureYを作成するだけです。クラスにFeatureXとFeatureYの両方がある場合、問題なく両方から継承できます。

私の問題は、関数/メソッドがFeatureX()とFeatureY()の両方を実行できるオブジェクトを必要とする場合はどうなるでしょうか?できればC++で型を表現するにはどうすればよいですか。ただし、FeatureXとFeatureYの両方を確実に使用できるようにするには、Javaでの回答も役立ちます。

IFeatureXとIFeatureYから継承する別のインターフェイスIFeatureXYを作成しますか?わかりました...機能が2つしかない場合は、これで問題を解決できます。しかし、たとえば10の機能があるとすると、可能なインターフェイスの数は膨大になります。

これを行う簡単な方法はありますか?C ++テンプレートと委任を使用して問題を解決しようとしましたが、それほど遠くはありませんでした。私はこれに対する簡単な解決策があることを望んでいます、そしておそらく私がちょうど見落としたものがあるでしょう。

皆さんの助けとアドバイスに感謝します。

ありがとう。

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

javascript - IE でテーブルの変更イベントが失敗する

jQuery を使用して、テーブルの変更イベントをキャプチャしています。テーブルには多くの行があり、各行にはいくつかの入力ボックスとチェックボックスがあります。これを行うために、イベント委任を使用しています。tbody レベルで変更をキャプチャしています。これは以下のコードです

このコードは Firefox では問題なく動作しますが、IE では変更イベントがキャプチャされません。各入力要素に各イベントをアタッチするのではなく、イベント委任を使用してこのソリューションにアプローチしたいと思います。また、テーブルの行が動的に構築され、バインド解除/バインド イベントが少し面倒に見えるため、jQuery を使用して各要素をターゲットにすることも避けたいと思います (私の意見です)。

これを機能させる方法についてのアイデアはありますか?

0 投票する
6 に答える
29369 参照

oop - 継承の代わりに委任を使用するのはいつですか?

継承の代わりに委任を使用したい場合を誰かに説明してもらえますか?

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

openid - 標準の Google アカウントで OpenID 委任を使用できますか?

私は現在 ClaimID を使用しており、委任を許可するために Web サイトに次のデータがあります。

Google に相当する URL はありますか? そうでない場合、今後のサポートについて何か言及はありますか?

誰かがこれを重複としてマークする前に、私はこの既存の質問を認識しています: How do you delegate your OpenId to Google Apps . ただし、その質問は特に Google Apps に関するもので、通常の @gmail.com アカウントで OpenID 委任を使用できるかどうかを知りたいだけですか?

0 投票する
6 に答える
2147 参照

c++ - C++ でインターフェイスと実装を切り離すために使用するパターンは何ですか?

大規模な C++ プロジェクトでの問題の 1 つは、ビルド時間です。依存関係ツリーの上位に作業が必要なクラスがいくつかありますが、通常は、すべてのビルドに非常に長い時間がかかるため、作業を避けます。必ずしもパブリック インターフェイスを変更する必要はありませんが、プライベート メンバーを変更する必要がある場合があります (キャッシュ変数の追加、プライベート メソッドの抽出など)。あなたが直面している問題は、C++ ではプライベート メンバーでさえパブリック ヘッダー ファイルで宣言されているため、ビルド システムですべてを再コンパイルする必要があることです。

この状況であなたは何をしますか?

私が知っている2つの解決策をスケッチしましたが、どちらにも欠点があり、まだ考えていないより良い解決策があるかもしれません.

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

c# - LogonUserと委任

LogonUserwin32apiを使用しています。

ただし、この後にWCFサービスを呼び出すと、偽装されたIDを使用できなくなります。これは、impersonatedUser.ImpersonationLevelがImpersonationと等しいためだと思います。

これが理由ですか?ImpersonationLevel.Identificationのレベルは必要ですか?そのようなレベルを取得する方法は?

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

python - Pythonでメンバーシップテストをエミュレートする: __contains__をcontained-objectに正しく委譲する

私は、Python が機能を他のオブジェクトに委任するためのいくつかの巧妙なトリックを許可していることに慣れています。1 つの例は、含まれているオブジェクトへの委任です。

しかし、__contains __ をデリゲートしたい場合、運が悪いと思われます:

私は得る:

私が間違っていることは何ですか?a.__contains __(1) を呼び出すと、すべてがスムーズに進みます。A に __iter __ メソッドを定義して、A をイテラブルに見えるようにしようとさえしましたが、役に立ちませんでした。ここで何が欠けていますか?

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

iphone - 委任を正しい方法で実装する方法は?

特別なことが起こったときに、(もしあれば)デリゲートと呼ぶべきクラスのデリゲートを実装しようとしています。

ウィキペディアから私はこのコード例を持っています:

これを自分で試してみると、デリゲートで呼び出しているメソッドが見つからないという警告が表示されます。もちろんそうではありませんでした。なぜなら、デリゲートはidによって参照されているだけだからです。それは何でもかまいません。セレクターに応答するかどうかを確認するので、実行時に問題なく動作します。しかし、Xcodeでの警告は必要ありません。より良いパターンはありますか?

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

design-patterns - 戦略パターンと委任パターンの違い

戦略パターンと委任パターン(委任ではない)の違いは何ですか?

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

c# - 委任によってインターフェイスの実装を生成するツール?

多くの場合、実装をクラスのメンバーに委譲してインターフェイスを実装する必要があります。Visual Studio はインターフェイス メソッドのスタブを生成しますが、実装を委譲するコードを記述する必要があるため、この作業は非常に面倒です。あまり考える必要がないので、おそらくコード生成ツールで自動化できます...

私はおそらくこれを考えた最初の人ではないので、そのようなツールはすでにあるはずですが、Googleで何も見つかりませんでした...何か考えはありますか?


編集:ReSharperでできるようですが、かなり高価です...同じ機能を備えた無料の代替品はありますか?