私は現在、ES6とMarionette v3を使用してMarionetteコードベースを書き直しています。Demeterの法則に違反することなく、Marionetteモジュール間の通信を処理するのに最適
私はサブモジュール(ProductShowRoute
、CartManager
など)をいくつか作成しましたが、これはすべて私のメインのApp
から始まりました。
皆さんがモジュール間のコミュニケーションをどのように管理しているのだろうかと思いました。以前のMarionetteアプリでは、コミュニケーションがあまりにも忙しく、Backbone.Wreqr
を使用して送信されすぎていました。
ユーザーがカートに商品を追加すると、ProductsModule
はCartModule
にこれを知らせる必要があります。あまりにも多くのスパゲッティコードを書かずにこのコミュニケーションをどうやって整理していますか? Backbone.Radio
/Backbone.Wreqr
はすばらしいツールですが、間違って使用された場合(またはモジュール間で多すぎることが起こった場合)、どのイベントがどこで終了するのかを知ることは困難です。
また、どのように経路を変更しているのでしょうか。私はApp.navigate(‘route’, { trigger: true })
の使用を警告したDerick Baileyのブログ記事を読むが、Marionette Wiresでは数回起こっているのを見た。 trigger: true
は本当に使いにくいですか?そして、私たちにはどのような選択肢がありますか?以前はBackbone.Wreqr
を使用していましたが、これは各モジュールのRouter
を呼び出してルートを変更しますが、これは多くの通信が前後しているようです。
ありがとうございます!
subAppsとの間の通信のためのバーノン