问题标签 [mixins]

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 投票
1 回答
856 浏览

spring - 动态实现的 Spring 介绍

我正在尝试使用 Spring 框架为一个类(让我们称之为 C)动态实现一个特定的接口(让我们称之为 I)。在 Spring 中,这称为引入(其他语言中的 mixin)。在编译时,C 没有实现 I。使用 @DeclareParents 注释我可以在 AspectJ 语法中做到这一点。

问题是 I 的实际实现(我们称之为 IImpl)是独立的(不依赖于上下文)——我应该只在注释中提供 IImpl 类名。我想要实现的是以某种方式规定的实现。例如,我想为 IImpl 实例提供一个参数,比如封闭的 C 实例,以便 IImpl 中的逻辑会根据所引入的 CI 实例而有所不同。我需要一些方法来设置 IImpl 实例和引入的 C 实例之间的依赖关系。

目前我找不到办法做到这一点。有任何想法吗?

谢谢。

0 投票
17 回答
32730 浏览

java - 在 Java 中实现 Mixin?

使用 Java 6,如何实现mixin?这在 Ruby 中非常简单且可行。我怎样才能在 Java 中得到类似的东西?

0 投票
2 回答
3574 浏览

abstract-class - 抽象类和 Mixin 有什么区别?

我刚刚发现一篇关于 Java 框架的文章,它显然允许它支持Mixins和一种叫做面向复合编程的东西(据我所知,这甚至可能是同一件事......)我也听说过/使用过 AOP,而且我不确定它与此有何不同...

0 投票
3 回答
787 浏览

castle-windsor - Windsor MixIn 是单身人士?

我有一个 MixIn 需要一些状态才能运行。

我是这样注册的。。

当我调用 container.Resolve(of ICat) 时,我得到了 ICat 的代理,它也实现了 IMixin。

但是,如果我再次调用 container.Resolve(of ICat),我会得到一个新的 ICat 代理,但 MyMixin 是相同的实例。(这是有道理的,因为我没有告诉容器以任何方式创建 IMixin)

所以,IMixin 是一个 Singleton,尽管组件的生活方式是 Transient。

我如何通过 Fluent Interface 告诉 Windsor 为组件创建一个新的 MyMixIn 实例?

0 投票
0 回答
454 浏览

c# - LinFu - can't quite see how to do what I want

Just found LinFu - looks very impressive, but I can't quite see how to do what I want to do - which is multiple inheritance by mixin (composition/delegation as I'd say in my VB5/6 days - when I had a tool to generate the tedious repetitive delegation code - it was whilst looking for a C# equivalent that I found LinFu).

FURTHER EDIT: TO clarify what I mean by composition/delegation and mixin.

Imagine objects with many more properties, used in many more "subclasses" and you start to see the tedium. A code-gernation tool would actually be just fine...

So, LinFu.... The mixin example below is fine but I'd want to have an actual Person class (as above) - what's the LinFu-esque way of doing that? Or have I missed the whole point?

EDIT: I need to be able to do this with classes that are already subclassed.

0 投票
2 回答
15644 浏览

python - python中的抽象类+mixin+多重继承

所以,我认为代码可能比我用语言更好地解释了我想要做的事情,所以这里是:

结果:

我试图让 mixin 类满足抽象/接口类的要求。我错过了什么?

0 投票
9 回答
35716 浏览

oop - Mixin 与继承

mixin 和继承有什么区别?

0 投票
1 回答
667 浏览

ruby-on-rails - Rails:如何覆盖 stylesheet_path

我一直在尝试覆盖 Rails 的stylesheet_path助手,但我还没有找到方法。我不能只打开ActionView::Helpers::AssetTagHelper模块并在那里覆盖它,因为 Rails 不会采用我的新方法。

我知道这可能是因为模块混入了,那么我该如何解决呢?

0 投票
7 回答
22969 浏览

oop - 抽象类 vs. 接口 vs. mixins

有人可以向我解释一下抽象类接口mixins之间的区别吗?我以前在我的代码中使用过每个,但我不知道技术差异。

0 投票
2 回答
28970 浏览

multiple-inheritance - Mixins 与 Traits

Mixins 和 Traits 有什么区别?

根据 Wikipedia,Ruby 模块有点像特征。怎么会这样?