174
7
章 よくある問題と解決策
// ...
}
});
Backbone-Super
プラグインをインストールすると、同じ処理が次のようなコードで可能になり
ます。
// Backbone-super
プラグインを利用する場合
var Note = Backbone.Model.extend({
set: function(attributes, options) {
//
親クラスのメソッドを呼び出します
this._super(attributes, options);
//
追加の処理を記述します
// ...
}
});
7.10
イベントアグリゲーターとメディエーター
7.10.1
課題
複数の発生源からのイベントを
1
つのオブジェクトに集めるにはどうすればよいでしょうか。
7.10.2
解決策
イベントアグリゲーターを使っているなら、この種の問題の解決にはメディエーターを利用しよ
うと考える開発者が多いと思われます。イベントアグリゲーターとメディエーターとはそれぞれ何
であり、どう異なるのかについて検討してみましょう。
デザインパターンが複数ある場合、それらの間の違いは意味や意図だけということがよくありま
す。つまり、実装よりも記述に使われる言語のほうがパターンを区別する要因になってしまってい
ます。これは正方形と四角形と多角形との関係に似ています。正方形を作れば、それは四角形でも
あり多角形でもあります。一方、多角形には無限のバリエーションがあります。
メディエーターとイベントアグリゲーターのパターンについて言えば、 ...