kmdjs和循环依赖 循环依赖是非常必要的,有的程序写着写着就循环依赖了,可以提取出一个对象来共同依赖解决循环依赖,但是有时会破坏程序的逻辑自封闭和高内聚.所以没解决好循环依赖的模块化库.框架.编译器都不是一个好库.框架.编译器. kmdjs的本质就是{},从{}扩展出的tree.从很早的版本就开始,是支持循环依赖的.比如下面的代码: define('namespace1.A',['namespace2'], { ctor: function () { this.b = new B(); } }