そのため、同僚からパブリッシュ/サブスクライブパターン(JS / jQuery)が紹介されましたが、「通常の」JavaScript / jQueryよりもこのパターンを使用する理由を理解するのに苦労しています。
たとえば、以前は次のコードがありました...
$container.on('click', '.remove_order', function(event) {
event.preventDefault();
var orders = $(this).parents('form:first').find('div.order');
if (orders.length > 2) {
orders.last().remove();
}
});
そして、代わりにこれを行うことのメリットを見ることができました...
removeOrder = function(orders) {
if (orders.length > 2) {
orders.last().remove();
}
}
$container.on('click', '.remove_order', function(event) {
event.preventDefault();
removeOrder($(this).parents('form:first').find('div.order'));
});
removeOrder
さまざまなイベントなどで機能を再利用する機能が導入されているためです。
しかし、同じことをするのに、なぜパブリッシュ/サブスクライブパターンを実装して次の長さに進むことにしたのですか?(参考までに、jQuery tiny pub / subを使用しました)
removeOrder = function(e, orders) {
if (orders.length > 2) {
orders.last().remove();
}
}
$.subscribe('iquery/action/remove-order', removeOrder);
$container.on('click', '.remove_order', function(event) {
event.preventDefault();
$.publish('iquery/action/remove-order', $(this).parents('form:first').find('div.order'));
});
パターンについては確かに読みましたが、なぜこれが必要になるのか、想像もできません。説明したチュートリアルを見たこのパターンを実装方法を同じ基本的な例のみを対象としています。
pub / subの有用性は、より複雑なアプリケーションで明らかになると思いますが、想像できません。ポイントを完全に逃していると思います。でもあるなら要点を知りたい!
なぜ、どのような状況でこのパターンが有利であるかを簡潔に説明できますか?上記の例のようなコードスニペットにpub / subパターンを使用する価値はありますか?