创建实例并传递给构造函数或在构造函数内创建?

时间:2013-09-23 14:31:23

标签: javascript require

我不确定应该遵循哪一项。我开始使用require.js并开始看到实例不可见。所以我有两个选择:创建并传递给其他构造函数或在类中创建它们。例如:

define
    dep1,
    dep2
    dep3

dep1 = new Dep1
dep2 = new Dep2
dep3 = new Dep3(dep1, dep2)

我应该这样做吗?

define(dep3) 

dep3 = new Dep3();
在dep3文件中

define(dep1, dep2);

dep3.initialize: function() {
   this.dep1 = new Dep1;
   this.dep2 = new Dep2;
}

代码非常抽象,但我希望你能得到这个想法。那么我应该使用哪个选项?

1 个答案:

答案 0 :(得分:1)

如果您总是只想创建dep3并且dep3的每个实例都应该有自己对dep1 / 2的引用,那么您应该采用第二种方法。

如果要在多个Del3实例之间共享Dep1或Dep2,则应通过构造函数传递它。

它真的取决于你,就Dep3实例的逻辑而言,没有区别......