1

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

我的作品是从 C++ 到 Java。在阅读了对这个问题的评论后:https : //stackoverflow.com/questions/587458/implement-mixin-in-java 我得出的结论是,如果没有代码生成方案,Java 中的 mixins 是不可能的,而且这些方案不会在内部受到好评我正在工作的团队。

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

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

那么,在 Java 中设计这个的正确方法是什么?

4

1 回答 1

1

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

否则我会作曲,这也不漂亮,但很简单。

于 2012-10-22T20:15:04.717 回答