请问jdon框架今后是否考虑采用Qi4j?
请问jdon框架今后是否考虑采用Qi4j?
请问jdon框架今后是否考虑采用Qi4j?
这两个框架是相竞争的吧
Qi4j通过组合实现DDD,而Jdon框架提供Event事件来实现DDD, Qi4j主要通过Mixin将实现类切入接口,实现DCI比较好。Jdon框架提供开发一个异步 并发 高吞吐量的系统,性能上要比Qi4j重视多。
jdon中就不能采用相同的思想实现DDD吗?事件模型和组合不矛盾吧?组合是领域层的事情,事件是技术架构的机制,业务和技术不是可以分离的吗?
[该贴被tecentID3618B于2013-04-18 16:19修改过]
Mixin有类似黑客技术,强力破解,不算优雅;事件是语义词,业务和技术通用,如美国发生爆炸事件等等。
Mixin已经过期了,下一个Big Thing是事件模型:http://www.jdon.com/44943
谢谢banq老师,关于事件和mixin各自的特点和区别,以及为什么mixin过期和不够优雅,能否有具体的理由呢?作为程序员,面向的接口编程、职责分离不是很优雅吗?事件模型会不会感觉反而有点复杂和不便呢?
以下是我自己的感悟:作为最复杂的生物神经网络,其运行机制其实就是事件模型,通过生物电流向外传播“异步事件”,通过众多神经元的并发响应和递归执行,最后形成了我们复杂的人脑计算,但是很难想象采用“事务脚本”模式的编程模型可以模拟出我们大脑的思维过程,这或许就是事件模型和传统编程模型的根本区别吧?不过这种神经网络的级联触发产生的复杂性会很快失控,因为它们之间的依赖关系不能被编译器识别出来,任何改动的影响都是难以评估的,这是不是也是这种编程模型的风险所在呢?
我进一步思考的是,就算事件模型是必须的,也不能因此就认为不需要组合和面向接口编程吧?这二者不矛盾,因此还是那个问题,jdon如何就不能采用Qi4J呢?
这么说来,这是在聚合根中用Qi4J或AOP哪个实现Mixin更优雅的问题了,是吗?我觉得这是很有趣的问题。
Qi4j也是使用AOP模式,Java的Mixin实现比不上Ruby优雅,但是Ruby的异步高并发事件模型比不上Scala/ERLang.
在Java领域,Qi4j和Jdon框架是100步与50步的区别而已。
但是Jdon框架将Ruby的Mixin和Scala的异步高并发合并在一起,虽然不太优雅,但作为框架封装起来,使用起来方便,不用更改语言,相当于windowsXP升级到Windows 8。
JdonFramework = Spring(Ioc/DI) + Ruby(Mixin/AOP) + Scala(Asynchronous/highConcurrent)
[该贴被banq于2013-04-19 10:01修改过]
那么请教banq老师,如果我个人喜欢Qi4j注解实现mixin的方式,有没有可能与jdon框架结合呢?
[该贴被tecentID3618B于2013-04-19 10:20修改过]
从理论上讲,两者当然可以结合,Jdon的Mixin也是使用元注解,你可以试验看看,应该没有问题。Jdon和Guava等框架一起用也可以,也可以和Spring一起使用。
非常感谢banq老师解惑
为什么Qi4j没有流行起来?他的概念还是不错的嘛?难道有不合理的地方?不知道有知道不。
我是这样猜测的:Qi4j主要是组合式编程,将一些接口等组合到数据对象中,而函数编程正好相反,是将数据对象加入到函数中。
第二点,新的语言Scala和Swift都提供了类似Mixin功能,如swift的protocol与extension。语言级别支持就非常简单,而使用额外框架,显得比较重量。