Backbone.js RequireJS 混合
Backbone.js RequireJS Mixin
我已经使用 requirejs 创建了一个 mixin 组件,如下所示:
define(function() {
'use strict';
var MyClass = function () {
console.log('Hello World');
};
return {
doSomething: function () {
var m = new MyClass();
return m;
}
}
});
我的问题是,在 return 是无需访问 returned 对象即可包含的函数中编写此 mixin 是否更好?
因此上面的内容将重写为:
define(function() {
'use strict';
var MyClass = function () {
console.log('Hello World');
};
return function doSomething() {
var m = new MyClass();
return m;
}
});
然后当您包含此模块时,您只需调用 doSomething()
而不必包含该模块并访问 myModule.doSomething()
.
之类的方法
我知道这两种方式都是可以接受的,但只是想就实施问题征求意见。
我认为这取决于您项目中商定的约定以及代码结构。第二个例子对我来说可能更 SOLID 因为每个模块或 class 应该只是单一的职责。返回对象表示法可能倾向于模块返回级别上的更多功能。不过只是一个想法。
我已经使用 requirejs 创建了一个 mixin 组件,如下所示:
define(function() {
'use strict';
var MyClass = function () {
console.log('Hello World');
};
return {
doSomething: function () {
var m = new MyClass();
return m;
}
}
});
我的问题是,在 return 是无需访问 returned 对象即可包含的函数中编写此 mixin 是否更好?
因此上面的内容将重写为:
define(function() {
'use strict';
var MyClass = function () {
console.log('Hello World');
};
return function doSomething() {
var m = new MyClass();
return m;
}
});
然后当您包含此模块时,您只需调用 doSomething()
而不必包含该模块并访问 myModule.doSomething()
.
我知道这两种方式都是可以接受的,但只是想就实施问题征求意见。
我认为这取决于您项目中商定的约定以及代码结构。第二个例子对我来说可能更 SOLID 因为每个模块或 class 应该只是单一的职责。返回对象表示法可能倾向于模块返回级别上的更多功能。不过只是一个想法。