问题标签 [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 - How do I bind Different Interfaces using Google Guice?

Do I need to create a new module with the Interface bound to a different implementation?

I cannot touch the Chef Class nor the Interfaces. I am just a client binding to Chef's FortuneService to different Interfaces at runtime.

0 投票
3 回答
1252 浏览

scala - Cake Pattern 可以用于非单例样式的依赖吗?

我遇到的大多数 Cake Pattern 示例似乎都将依赖关系视为单例类型的服务。在组件的最终组装中,每种类型只有一个实例。当使用 Cake Pattern 进行依赖注入时,是否可以编写具有多个特定类型实例的配置,可能以不同的方式配置?

考虑以下组件。通用 HTTP 服务:

Trade & Company 服务,每个都依赖于 HttpService,它们可能是不同的实例:

依赖于 Trade & Company 服务的主要应用程序组件:

是否可以连接应用程序,使其 TradeService 使用指向一个地址的 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


这是我的精确用例:

我有以下内容:

由于我说的是扩展罐,我一开始并不了解它们,我什至不知道它们有多少:我需要加载MyModulesj.u.ServiceLoader并且每个模块都应该定义一个MyInterface实现(这两部分是行)。

问题是将所有MyInterface实现放在一组(in MyManager)中。我怎样才能做到这一点?


解决方案,完全基于杰西的回答:

这允许我不强制“客户”扩展 PrivateModule,而是使用任何模块实现,如果 MyModule 是扩展模块的接口。

0 投票
3 回答
747 浏览

dependency-injection - Guice:构建对象/机器人腿的相关树

我有一个 A 类,它拥有这样的 B 类:

我想绑定两个不同的 A,一个是带注释的@AhasB1,另一个是@AhasB2. 我怎样才能正确绑定这些?

0 投票
1 回答
344 浏览

guice - guice:多种实现,不同的对象图

您如何在guice中执行以下操作?

XmlSerializer一个依赖于接口的类XmlFormatterXmlFormatter:CompactXmlFormatter和.有 2 种实现PrettyXmlFormatter

另一个类MyApplication依赖于 2 个实例XmlSerializer。一个实例应配置为 aCompactXmlFormatter和另一个PrettyXmlFormatter

你如何构建这样的图表?

我知道,一旦你有了 2 个XmlSerializer实例,将它们注入到构造函数MyApplication的参数中需要注释。MyApplication

我对你如何XmlFormatter同时绑定CompactXmlFormatter和更感兴趣PrettyXmlFormatter

0 投票
1 回答
667 浏览

scala - 如何使用 Scala 的蛋糕模式来实现机器人腿?

我的开发大量使用了机器人腿绑定问题。我知道如何在 Guice 中解决它PrivateModule但不清楚如何使用 Scala 的蛋糕模式来解决这个问题。

有人可以解释一下如何做到这一点,理想情况下,以乔纳斯·博纳(Jonas Boner)博客文章结尾处的咖啡示例为基础的具体示例?也许有一个可以为左侧和右侧配置的加热器,注入一个方向和一个def isRightSide

0 投票
0 回答
165 浏览

actionscript-3 - Robotlegs 2 迁移 - 动态视图

我在我的项目中使用 RB1 的方式如下:我在外部加载了带有链接名称的 GFX。我做了这样的事情:

在调解器中,我使用getViewComponent并将其传递给MyView课堂。 MyView被注入调解员。

现在在 RB2 我不可能通过getViewComponent. 此外,我无法将视图注入 Mediator,因为我仅在运行时通过getDefinitionByName.

你能给我一些关于如何处理这个问题的建议吗?

谢谢!

0 投票
1 回答
102 浏览

actionscript-3 - 信号永远不会被注入-robotlegs2.0

在应用程序配置文件中,我有一个信号/命令映射

然后,我有两个连接类:

有什么建议可能是什么原因?谢谢