Bonjour

J'ai un fichiers de classes, classHierarchy.js, qui doit très souvent accéder à un gros objet world, lui même dans un fichier world.js. La difficulté, c'est qu'à l'initialization de world, je dois aussi pouvoir accéder à mes classes pour un instancier quelques unes.

Pour l'instant mon schéma est le suivant :

world.js
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
const world = {
	initialize() {
		let tmp = new Class1();
	},
	lol() {
		alert('lol');
	}
};
 
const {
	Class1,
} = require ('./classHierarchy.js')(world);
 
module.exports = world;

classHierarchy.js
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
module.exports = function(world) {
    let module = {};
    Class1 { constructor() { world.lol(); } }
    module.Class1 = Class1;
    return module;
}

Ce qui me permet de faire, dans mon index.js :

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
const world = require('./world.js');
world.initialize();

Ma question : y a-t-il une meilleure manière de faire, plus élégante ou plus performante (ou les deux) ?

Merci