
jQueryのオンおよびオフ機能を使用して、Pubサブテクニックを実装する方法を簡単に見てください。
関連投稿:
- jQuery 1.7 .on()vs .live()レビュー
- FASCADE JavaScriptデザインパターン
<span>/* jQuery Tiny Pub/Sub - v0.7 - 10/27/2011
</span><span> * http://benalman.com/
</span><span> * Copyright (c) 2011 "Cowboy" Ben Alman; Licensed MIT, GPL */
</span>
<span>(function($) {
</span>
<span>var o = $({});
</span>
$<span>.subscribe = function() {
</span> o<span>.on.apply(o, arguments);
</span> <span>};
</span>
$<span>.unsubscribe = function() {
</span> o<span>.off.apply(o, arguments);
</span> <span>};
</span>
$<span>.publish = function() {
</span> o<span>.trigger.apply(o, arguments);
</span> <span>};
</span>
<span>}(jQuery));</span>
出典:https://gist.github.com/661855
どのように機能し、どのように使用しますか?作業例:https://jsfiddle.net/cowboy/hvajf/
jquery pub/sub pattern
に関するよくある質問(FAQ)
jquery Pub/Subパターンは、ソフトウェアアーキテクチャで使用されるメッセージングパターンです。これは、サーバーレスおよびマイクロサービスアーキテクチャで使用される非同期サービスからサービス間通信の形式です。パターンは、出版社と呼ばれる送信者が、購読者として知られるメッセージとレシーバーを作成するメッセージキューを作成することにより実装されます。出版社と購読者は大まかに結合されているため、お互いの存在を知る必要はありません。出版社はこのハブにメッセージを送信し、サブスクライバーはそこからメッセージを受け取ります。ハブは、適切なサブスクライバーにメッセージを配布する責任があります。このパターンにより、高レベルのデカップリングが可能になり、システムの維持と変更が容易になります。コンポーネント間のゆるい結合が可能になり、システムがより柔軟で維持が容易になります。また、非同期通信を可能にします。これにより、メッセージを待機しながらコンポーネントが処理を継続できるようにすることでパフォーマンスを向上させることができます。さらに、コンポーネント間の直接接続の数を減らすことでシステムを簡素化するのに役立ちます。ハブは、単純なJavaScriptオブジェクトを使用してメッセージを保存するなど、さまざまな手法を使用して、キューやスタックなどのより複雑なデータ構造を使用して実装できます。出版社と購読者は、ハブと対話する関数またはオブジェクトとして実装できます。これは、JavaScriptアプリケーションで使用できる汎用パターンです。ただし、一部のライブラリは、パターンの独自の実装を提供する場合や、パターンの実装を容易にする機能を提供する場合があります。 jQuery Pub/subパターンの一般的なユースケースは何ですか?
jQuery Pub/subパターンは、コンポーネント間の非同期通信を必要とするアプリケーションで一般的に使用されています。これには、イベントの処理に使用できるWebアプリケーションや、リクエストや応答を処理するために使用できるサーバーレスアーキテクチャが含まれます。また、マイクロサービスアーキテクチャでも一般的に使用されており、サービスを分離するために使用できます。
jQuery Pub/Subパターンを使用することに欠点はありますか?潜在的な欠点の1つは、メッセージに中央のハブが必要であるため、システムをより複雑にすることができることです。さらに、パターンには非同期通信が含まれるため、同期通信よりもデバッグするのが難しい場合があります。ただし、メッセージに中央ハブを使用し、非同期通信を可能にするという点で異なります。これにより、他のいくつかのパターンよりも柔軟でスケーラブルになりますが、潜在的に複雑になります。ただし、複数のスレッドが同時にアクセスしている可能性があるため、ハブがスレッドセーフであることを確認するために注意する必要があります。これは、ロックやセマフォなどの同期技術を使用することで実現できます。非同期コミュニケーションが最新のアプリケーションでますます重要になるにつれて、このタイプのコミュニケーションを処理するパターンの能力は、それをさらに人気にする可能性があります。さらに、より多くのアプリケーションがマイクロサービスアーキテクチャに移行するにつれて、コンポーネントを切り離すパターンの能力はますます価値がある可能性が高いです。
以上がjquery .on()および.off()を使用したパブサブパターンの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。