Module Pattern对象可以继承自Constructor Pattern对象吗?

时间:2017-02-04 00:04:48

标签: javascript inheritance design-patterns

(我对javascript和整个原型/继承概念有点新,所以如果这是一个愚蠢的问题我很抱歉)

在我的代码库中,我有一个关于Revealing-Module-Pattern类型对象的混搭,然后我也得到了使用Constructor-Pattern的对象(实例得到了新的实现)。

我还有一个代码块(用构造函数类型模式编写),它提供了EventEmitter功能。是否可以将此代码用作构造函数模式对象和Revealing-Module-Pattern对象的基类? 尝试这样做是否有意义?

1 个答案:

答案 0 :(得分:1)

首先,只有“constructor-type-pattern”对象遵循传统的继承形式,其中一个类扩展另一个类,并创建对象的实例。

“Revealing-module-pattern”只是一种封装数据并只暴露部分数据的方式,当你没有实例的概念时使用那种模式。
如果要重用这种“普通旧对象”中的代码,可以使用"prototypal inheritance",这意味着每次要求成员时,子对象都会指向父对象。有。

在这两种情况下,您使用Object.create创建具有原型的其他对象的对象,请查看examples at MDN

另请注意,ES2015已经完成,并且classextends形式的native syntactic sugar很容易使经典OOP更容易。