3

我可以从哪里获得 scala 中的面向复合编程框架——Qi4j 或类似的?

供参考:www.qi4j.org

什么是 Qi4j™?- [简介取自www.qi4j.org]

简短的回答是 Qi4j™ 是一个以领域为中心的应用程序开发框架,包括从 AOP、DI 和 DDD 演变而来的概念。

Qi4j™ 是面向复合编程的实现,使用标准的 Java 5 平台,不使用任何预处理器或新的语言元素。您在 Java 5 中所知道的一切仍然适用,并且您可以利用您的经验和工具包来提高今天的面向复合编程的生产力。

此外,Qi4j™ 支持 Java 平台上的面向复合编程,包括作为主要语言的 Java 和 Scala,以及作为桥接语言在 JVM 上运行的许多语言。

4

2 回答 2

1

看看这个答案,看看为什么你不能在运行时改变特征。

为了动态改变(或选择)行为:也许你看看类型类或隐式转换。

问候,扬

于 2012-06-18T07:40:49.960 回答
1

Qi4j 2.0(正在开发中)添加了强大的 Scala 支持,我们正在努力使 Scala Traits 可用作 Qi4j 混合和关注点(AOP“围绕建议”等价物)。Scala trait 编译为静态方法,该方法将拥有类的代理实例作为第一个参数(C 中的经典 C++ 表示)。Qi4j 将能够将 Trait 连接为 Mixin(即方法可以在 Composite 的公共接口中公开)并绑定到底层 StateHolder 以供 Trait 使用复合,因此似乎 Trait 将具有状态。 ..

FTR; Qi4j 2.0 还最大限度地减少了类型占用空间,允许使用与 Qi4j 无关的类型比以前更多。

于 2012-09-06T12:46:15.587 回答