Language agnostic 你称之为Mixin/Traits系统的对象级等价物是什么,它有模式名吗?
我之前问过混合蛋白是什么,现在已经开始了解这个模式的意思。但这让我想知道,在对象级别而不是类级别进行混入之类的操作是否有一个通用的模式名 伪代码(在一些不存在的语言中): 我知道这样的东西可以用几种语言以某种方式完成,但我想知道xxxx代表的功能的“标准”名称是什么,如果有,这个模式的名称是什么 谢谢 编辑:扩展芬森的答案,我想这可能是另一种情况:Language agnostic 你称之为Mixin/Traits系统的对象级等价物是什么,它有模式名吗?,language-agnostic,design-patterns,mixins,traits,Language Agnostic,Design Patterns,Mixins,Traits,我之前问过混合蛋白是什么,现在已经开始了解这个模式的意思。但这让我想知道,在对象级别而不是类级别进行混入之类的操作是否有一个通用的模式名 伪代码(在一些不存在的语言中): 我知道这样的东西可以用几种语言以某种方式完成,但我想知道xxxx代表的功能的“标准”名称是什么,如果有,这个模式的名称是什么 谢谢 编辑:扩展芬森的答案,我想这可能是另一种情况: object.xxxx(OtherClass) object.otherfoo() 连接是否合适 引用:“串联:在纯原型下,也被称为串联原型…
object.xxxx(OtherClass)
object.otherfoo()
连接是否合适
引用:“串联:在纯原型下,也被称为串联原型…”-维基百科
这在基于原型的编程语言中很常见。我相信它在ruby中被称为“导入”,但自从我上次编写ruby以来已经有一段时间了,所以我不确定 在js/ruby中,您可以编写
object.bar = bar;
object.bar() // output: bar
而且它不是真正的模式,因为它只是一个赋值(o.bar=bar),在基于原型的语言中具有完美的意义。我猜您的示例中的xxxx可以称为原型或类似的东西(请参见一种语言在哪里称之为thisproto)。这在基于原型的编程语言中很常见。我相信它在ruby中被称为“导入”,但自从我上次编写ruby以来已经有一段时间了,所以我不确定 在js/ruby中,您可以编写
object.bar = bar;
object.bar() // output: bar
而且它不是真正的模式,因为它只是一个赋值(o.bar=bar),在基于原型的语言中具有完美的意义。我猜您的示例中的xxxx可以称为原型或类似的东西(请参见一种语言将其称为proto的地方)