:
AMD JavaScript:
#include - Cimport Javarequire NodeJS
, , DI - - Singleton.
:
define('a', function () {
return {
doX: function () { ... }
};
});
define('b', ['a'], function (a) {
return {
doY: function () {
a.doX();
}
};
});
, a b, a - Singleton - , AMD , , .
:
define('A', function () {
function A(options) {
return {
doX: function () {...}
}
}
return A;
});
define('b', ['A'], function (A) {
if (<some condition>) {
var customOptions = {<some options>}
var a1 = new A(customOptions);
return {
doY: function () {
a1.doX();
}
};
}
var defaultOptions = {<default>}
var a2 = new A(defaultOptions);
return {
doY: function () {
a2.doY();
}
}
});
A, / factory .
, , , , . , , , - Singleton.