在Java中实现曾经是Mixin的正确方法?

时间:2012-10-22 20:09:07

标签: java c++ mixins

我是一个项目的一部分,该项目将在不同时间用不同语言编写的代码整合到一个应用程序中。

我的作品是从C ++转向Java。在阅读了对这个问题的评论之后:https://stackoverflow.com/questions/587458/implement-mixin-in-java我得出结论,如果没有代码生成方案,Java中的mixin就不可能实现,而那些在我正在研究的团队中并不会得到很好的接受。

使用vanilla Java在C ++中实现以前的Mixin的正确方法是什么?特别是,曾经有一种MVC型设计,其中一些控制器具有使用控制器状态的混合和匹配逻辑。控制器将继承Mixins以各种排列方式获得此功能,使得线性继承路径没有多大意义。

我现在能想到的最好的事情是一堆实用类型的类,它们包含过去在Mixins中的逻辑,并且让控制器在将它们作为引用传递时调用它们的功能,以便实用程序类可以访问他们的州。恕我直言,这真的很臭,我希望有更好的方法。

那么,用Java设计它的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

如果你真的想要mixins,你可以使用像Scala这样支持它们的语言(并在带有Java代码的JVM上运行)

否则我会合成,这也不是很好,但很简单。