問題タブ [robot-legs-problem]

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 投票する
3 に答える
6544 参照

java - Google Guiceを使用してさまざまなインターフェースをバインドするにはどうすればよいですか?

別の実装にバインドされたインターフェイスを使用して新しいモジュールを作成する必要がありますか?

Chefクラスにもインターフェースにも触れられません。私は、実行時にChefのFortuneServiceをさまざまなインターフェイスにバインドするクライアントです。

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

scala - Cake パターンは非シングルトン スタイルの依存関係に使用できますか?

私が遭遇した Cake パターンの例のほとんどは、依存関係をシングルトン タイプのサービスと見なしているように見えます。コンポーネントの最終アセンブリには、各タイプのインスタンスが 1 つだけ存在します。依存性注入に Cake パターンを使用する場合、おそらく異なる方法で構成された、特定のタイプの複数のインスタンスを持つ構成を作成することは可能ですか?

次のコンポーネントを検討してください。汎用 HTTP サービス:

それぞれ異なるインスタンスである可能性がある HttpService に依存する Trade & Company サービス:

Trade & Company サービスに依存するメインのアプリ コンポーネント:

TradeService が 1 つのアドレスを指す HttpService を使用し、CompanySerivce が別のアドレスを指す別の HttpService インスタンスを使用するようにアプリを接続することは可能ですか?

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

dependency-injection - あいまいなロボットの脚は有効ですか?

Guice FAQでは、アノテーション(種類)を使用して複数のインスタンスを区別することについて説明しています。

私の質問:注釈なしでImplをインターフェイスにバインドし、注釈付きで同じインターフェイスに別のImplをバインドできますか?基本的に、私の最初のimplは、他のimplのコンテナとして機能します。

ボーナスの質問ですが、Names.named(..)の使用は悪い形式と見なされますか?大量のアノテーションクラスの作成を避けようとしているだけで、リファクタリングできるという利点が必要でした。

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

java - Multibinding を使用して Guice のロボット脚の例を一般化する

この使用例は、Guice のロボット脚の例と非常によく似ていますが、「脚」の数がわからない点が異なります。したがって、ロボットの脚の例に必要な注釈を使用できません。

Guice の Multibindings 拡張機能を使用して、これらすべての「足」を java.util.Set に集めることを期待しています。

技術的には、PrivateModule では、Multibindings 拡張によって提供されるセットの要素として実装を直接公開したいと考えています。私はそれを行う方法がわかりません。

リファレンスとコード例については、ロボット脚の例を参照してください: http://code.google.com/p/google-guice/wiki/FrequentlyAskedQuestions#How_do_I_build_two_similar_but_slightly_different_trees_of_objec


これが私の正確なユースケースです:

私は次のものを持っています:

私は拡張 jar について話しているので、最初はそれらを知りません。それらがいくつ存在するかさえ知りませMyModuleん。わかった)。j.u.ServiceLoaderMyInterface

問題は、すべてのMyInterface実装を 1 つのセット ( MyManager) にまとめることです。どうやってやるの?


完全にジェシーの答えに基づいた解決策:

これにより、「顧客」に PrivateModule の拡張を強制するのではなく、MyModule が Module を拡張するインターフェースである場合は、任意のモジュール実装を使用できます。

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

guice - guice: 複数の実装、異なるオブジェクト グラフ

guice で次のことをどのように行いますか?

XmlSerializerインターフェイスに依存するクラスがありますXmlFormatter。と の 2 つの実装がありXmlFormatterます。CompactXmlFormatterPrettyXmlFormatter

別のクラスMyApplicationは の 2 つのインスタンスに依存しますXmlSerializer。1 つのインスタンスを で構成し、もう 1 つのインスタンスを構成する必要がありますCompactXmlFormatterPrettyXmlFormatter

このようなグラフをどのように作成しますか?

2 つのインスタンスを取得したら、XmlSerializerそれらを注入するには、コンストラクターMyApplicationのパラメーターに注釈が必要であることを知っています。MyApplication

XmlFormatterとの両方にどのようにバインドするのかにもっと興味がありCompactXmlFormatterますPrettyXmlFormatter

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

scala - Scala のケーキ パターンを使用してロボットの脚を実装するにはどうすればよいですか?

私の開発では、ロボットの脚の拘束問題を多用しています。Guice で解決する方法は知っていますPrivateModuleが、Scala のケーキ パターンでこれを行う方法は明確ではありません。

理想的には、ブログ投稿の最後にあるジョナス・ボナーのコーヒーの例に基づいた具体的な例を使用して、これがどのように行われるかを誰かが説明できますか? おそらく、左右に設定できるウォーマーを使用して、向きとdef isRightSide?

0 投票する
0 に答える
165 参照

actionscript-3 - Robotlegs 2 の移行 - 動的ビュー

私は自分のプロジェクトで RB1 を次のように使用しました。リンケージ名を持つ GFX を外部からロードしました。私はこのようなことをしました:

メディエーターでは、それを使用してクラス getViewComponentに渡しました。メディエーターに注入されました。MyViewMyView

今RB2では、私は見ることができませんgetViewComponent。また、実行時にのみクラスを取得するため、ビューをメディエーターに挿入することはできませんgetDefinitionByName

これを処理する方法についてアドバイスをお願いします。

ありがとうございました!