180
7
章 よくある問題と解決策
});
// ...
アプリケーション内の別の箇所での処理
var MyWorkflow = function() {
Backbone.on("menu:click:foo", this.doStuff, this);
};
MyWorkflow.prototype.doStuff = function() {
//
複数個のオブジェクトをここで生成します。これらのオブジェクトの
//
ためのイベントハンドラをセットアップし、それぞれを協調させて
//
意味のあるワークフローを組み立てます
};
この例では、適切なモデルを持った
MenuItem
がクリックされると、
menu:click:foo
イベント
が発生します。
MyWorkflow
クラスのインスタンス(すでにインスタンス化されているものとしま
す)はこのイベントを受け取り、自身の知識に基づいて複数のオブジェクトを協調させてユーザー
エクスペリエンスやワークフローを実現します。
イベントアグリゲーターとメディエーターを組み合わせることによって、開発者と利用者の双方
に大きなメリットがもたらされます。イベントアグリゲーターがメニューとワークフローを明確に
分離し、メディエーターはワークフローをクリーンで保守しやすいものにしてくれます。
7.10.8
パターン言語(意味)
ここまでの議論の中で最も重要なのは、意味(セマンティクス)です。コミュニケーションへの
参加者すべてが同じ言語を同じように理解している場合にのみ、パターンの名前を使って意図や意 ...