Je construis une application en backbone combinant les modèles modulaires et facade/médiateur pub/sub de https://github.com/addyosmani/backbone-aura/ pour envoyer des messages entre les modules afin de garder une base de code propre. Dans l'exemple complet de l'aura, je n'ai trouvé que le fichier readme décrivant l'utilisation idéale des routeurs faisant partie des modules eux-mêmes: "Dans les termes de Backbone.js, les widgets sont composés de Models, Views, Collections et Les routeurs ainsi que tous les modèles nécessaires au rendu du widget. "routage applications backbone lors de l'utilisation mediator pub/sous modèles
donc j'ai essayé un certain nombre de solutions à mettre en œuvre un système de routage extensible (modules de sens évolutifs peuvent spécifier leurs propres SubRoutes), comprenant un module de routeur qui accepte un message set-route
pour définir l'itinéraire, et des modules qui écoutent le message route
. J'ai également utilisé un sous-routeur par module. Le problème semble que sur les chargements de page initiaux, en raison de la nature «asynchrone» de la messagerie, les routes et leurs rappels peuvent ne pas être définis au moment où le routeur global analyse l'URL. Vous pouvez imaginer que j'ai peut-être besoin de mettre en file d'attente tous les messages avant de démarrer le module routeur. Je veux mettre en œuvre quelque chose de propre et cela a du sens. Je pensais aussi à potentiellement analyser d'abord toutes les routes de tous les widgets, puis à instancier le routeur, ce qui fait du module routeur un cas particulier, et ne devrait donc pas faire partie des modules.
Le routeur doit-il être un module qui utilise des messages, ou doit-il s'agir d'une extension, ou d'un élément d'ordre supérieur de l'architecture global auquel les modules ont accès?
Je sais que c'est une question chargée, merci d'avance pour toute aide!