Javascript-base.js多重继承

Javascript-base.js多重继承,javascript,inheritance,multiple-inheritance,Javascript,Inheritance,Multiple Inheritance,我们有一个非常大的项目,有数千个js文件。现在,由于需求,我们在少数情况下需要多重继承。我们已经用过了。问题是: 我们有: BaseComp.js inherits Base.js Comp1_base_2013.js inherits BaseComp.js Comp1_1_2013.js, Comp1_2_2013.js etc. inherits Comp1_base.js Comp1_1_2016.js inherits Comp1_1_2013.js Comp1_2_2016.j

我们有一个非常大的项目,有数千个js文件。现在,由于需求,我们在少数情况下需要多重继承。我们已经用过了。问题是:

我们有:

BaseComp.js inherits Base.js

Comp1_base_2013.js inherits BaseComp.js

Comp1_1_2013.js, Comp1_2_2013.js etc. inherits Comp1_base.js

Comp1_1_2016.js inherits Comp1_1_2013.js
Comp1_2_2016.js inherits Comp1_2_2013.js ...
现在需要在
Comp1_base.js
中进行一些更改,这些更改只应应用于
Comp1_1_2016.js
Comp1_2_2016.js
。。。2013年和2016年的基数相同


那么,我们如何解决这个问题呢?

如果这些变化只需要在2013年进行,那么从逻辑上讲,2016年不应该从2013年继承下来——听起来你需要将Comp1_基础分为两个基础,一个是2013年,一个是2016年,也许它本身就有了一个新的通用功能基础。2016年与2013年略有不同,2013年包含了我们不想重写的批量代码。2013年是2016年的基础,但在某些情况下,一些核心功能有所不同。在这种情况下,将不同的部分提取到新的2013年,并使旧的2013年成为一个共同的基础,在那里一切都没有不同。基类不应该根据从它们继承的内容来改变它们的行为——它们甚至不应该知道它们正在被继承。