Краткая форма:
Что означает nodeJS для настройки взаимных зависимостей между модулями без создания циклических ссылок?
Подробности:
В nodeJS, предположим, У меня есть два класса объектов: Thing
и ThingController
.
ThingController
отвечает за создание и поддержку библиотеки объектов Thing
:
\\file: thing-controller.js
"use strict";
var Thing = require('./thing');
var ThingManager = function() {
this._things = new Map();
};
// ...etc...
module.exports = ThingManager;
И модуль Thing может выглядеть следующим образом:
\\file: thing.js
"use strict";
var Thing = function(id, name) {
this.id = id;
this.name = title;
this.siblings = undefined;
}
// ...etc...
module.exports = Thing;
Все это прекрасно работает, если Thing
никогда не нужно ссылаться на ThingManager
.
Но что, если я захочу добавить Thing.prototype.findSiblings
или какую-то такую функцию, которая требует вызова ThingManager
?
Что означает nodeJS для настройки взаимных зависимостей без создания циклических ссылок? Это вариант использования для внедрения зависимости, и если да, то каков одобренный подход?