Je travaille actuellement sur la réécriture de notre base de code Marionette en utilisant ES6 et Marionette v3.Meilleur pour gérer la communication entre les modules Marionette sans violer la loi de Demeter
J'ai créé un couple de sous-modules (ProductShowRoute
, CartManager
, etc.) qui sont tous démarrés depuis mon App
principal.
Je me demandais comment vous gérez la communication entre les modules. Dans nos précédentes applications Marionette, la communication était trop mouvementée et trop était envoyé en utilisant Backbone.Wreqr
.
Lorsqu'un utilisateur ajoute un produit à son panier, notre ProductsModule
doit en informer le CartModule
. Comment organisez-vous cette communication sans écrire trop de code spaghetti? /Backbone.Wreqr
sont d'excellents outils, mais lorsqu'ils sont utilisés de manière incorrecte (ou trop de choses se produisent entre les modules), il est difficile de savoir quels événements se terminent où.
Aussi, je me demande comment vous changez de route. J'ai lu un billet de Derick Bailey qui a mis en garde contre l'utilisation de App.navigate(‘route’, { trigger: true })
mais dans Marionette Wires j'ai vu cela se produire à quelques reprises. Est-ce vraiment trigger: true
ce mauvais à utiliser? Et quelles alternatives avons-nous? Nous avons utilisé Backbone.Wreqr
pour cela avant, ce qui appelle le Router
de chaque module et change l'itinéraire, mais cela semble beaucoup de communication en va-et-vient.
Merci beaucoup!
Vernon