【Rxjs】Rxjs_観察者モードと購読モードのリリース

1935 ワード

Rxjs_観察者モードと購読モードのリリース
デザインモード
大学で習った「デザインモード」を拾いましょう.
観察者モードと発表購読モードは特に人々に混同されやすく、多くの本の中でもこの二つの概念を混同しているので、まずこの二つのパターンの違いをはっきりさせなければなりません.
観察者モード
╭─────────────╮  Fire Event  ╭──────────────╮
│             │─────────────>│              │
│   Subject   │              │   Observer   │
│             │
観察者はそのパターンがよく分かります.モードの中には2つのキャラクターしかありません.観察者と観察者です.
観察者モードは、オブジェクトとオブジェクトの間の依存関係を確立するために動作型モードに属しています.オブジェクトが変わると、他のオブジェクトに自動的に通知されます.他のオブジェクトは対応して反応します.
Subject(目標)目標はまたテーマと呼ばれ、観察される対象を指す.
Observer観察者は観察目標の変化に反応します.
コード例:jQuery
  function refresh() {
    $('div').empty().text('you are stupid.')
    $('div').trigger('refresh')
  }
  ...
  $('div').on('refresh', () => {
    $('span').empty().text('go to find it.')
  })
リリース→購読モード
 ╭─────────────╮                 ╭───────────────╮   Fire Event   ╭──────────────╮
 │             │  Publish Event  │               │───────────────>│              │
 │  Publisher  │────────────────>│ Event Channel │                │  Subscriber  │
 │             │                 │               │
購読モードを公開するのは広義的な観察者モードです.
購読モードのリリースは観察者モードに非常に近い.メッセージ(情報チャネル)を管理するための中間層が一つだけ多くなっただけで、最適化された観察者モードと見なすことができる.
生活の中にいい例があります.ラジオ局では、一番好きな番組にチャンネルを変えます.放送局では視聴者が何を聞いているのか、あるいは何を聞いているのかが分かりません.彼らの番組を公開すればいいです.視聴者も放送局の番組制作の過程が分かりません.彼らが一番好きな番組が運行されている時に、対応するチャンネルに変えたり、友達に知らせたりすればいいです.
観察者モードとリリース-購読モードの比較
両者の比較は下の図のようになっています.
観察者モード
  • は具体的なSubjectを知っていなければなりません.両者は直接
  • に連絡してもいいです.
  • 連結
  • の多くは同期
  • である.
  • は、単一のアプリケーションアドレス空間で
  • を実現する.
    購読モードを公開
  • は、直接的な依存関係ではなく、メッセージエージェント
  • を介して
  • 松結合
  • の多くは非同期(メッセージキューを使用)
  • である.
  • クロスアプリケーションモード
  • 参照リンク
    「対象間の連動——観察者モード(二)-設計モードの行動型モード-客学院Wiki」
    「設計モード:リリース/購読モード解析-記録技術の点滴-SegmentFault思否」
    観察者モードとリリース購読モードはどう違いますか?-分かりました.