定義オブザーバー パターンは 1 対多の依存関係を定義し、複数のオブザーバー オブジェクトが同時にサブジェクト オブジェクト (通知オブジェクト) を監視できるようにします。サブジェクト オブジェクトは、監視対象オブジェクトの変更を監視すると、すべてのオブザーバー オブジェクトに通知して、各オブザーバー オブジェクトが自身を更新できるようにします。 ここではいくつかの役割が関与しており、それぞれに次のような機能があります。
2. 使用シナリオ1つのオブジェクトを変更すると、同時に他のオブジェクトも変更する必要があり、変更する必要があるオブジェクトの数を知る必要がない場合 3. 例を挙げる概念の説明がわかりにくくて理解しにくい場合は、日常生活からの例を挙げて説明してください。 シナリオ 1: オフィスビル内のパソコンの前。プログラマーの一団は、上司が出張中であることを利用し、コンピューターで NBA の試合を観戦しながら、時折興奮して叫んでいた。ちょうどそのとき、出張から帰ってきた上司が偶然彼らと遭遇し、気まずい状況になってしまいました。 解決: 会社でサボっていたところ、上司に見つかってしまうのを避けるために、数人がフロントの女性に賄賂を贈る計画を立てました。上司が再び会社に来た時、その女性はすぐにプログラマーたちに知らせ、仕事に戻るように頼みました。 シナリオ2: オフィスビル内のパソコンの前。プログラマーの一団は、上司が出張中であることを利用し、コンピューターで NBA の試合を観戦しながら、時折興奮して叫んでいた。この時、上司が出張から帰ってきました。フロントの女性はボスが戻ってくるのを見て、すぐに試合を観戦していた男たちに知らせました。この時、若者たちはすぐに仕事モードに切り替わりました。 シナリオ 2 では、オブザーバー パターンを使用します。上司が戻ってきたら、プログラマーはパドリング ステータスを変更する必要があり、フロント デスクの女性がそれを通知する責任があります。
| ||||||||||||
<<: MySQL 挿入時間の 8 時間の違いの問題の解決方法
>>: CentOS8でyumソースを変更した後にウェアハウスキャッシュの同期に失敗する問題の詳細な説明
目次1. テスト実験2. 制限ページング問題に対するパフォーマンス最適化手法2.1 テーブルをカバー...
背景最近、Node.js を勉強しているのですが、クラウド サーバーがあることを思い出しました。しか...
2つのタイプがあります: (異なるブラウザ) 1. IEブラウザで利用可能コードをコピーコードは次の...
Navicat が MySql サーバーにリモート接続できない問題の解決策は、先頭に書かれています:...
目次1. プロトタイプチェーン継承2. コンストラクタの借用(古典的な継承) 3. 組み合わせ継承4...
文字列関数文字ascii(str)のASCIIコード値をチェックし、strが空の文字列の場合は0を返...
目次1. 環境変数$PATH: 2. 環境変数を変更します。 3. bash_profileの目的要...
ケース1 vue-cliはvue3プロジェクトをビルドし、プロジェクトをLinuxサーバーにアップロ...
Mac を返却して以来、元のラップトップは使用されていません。このラップトップの構成は非常に良好で...
MySql 8.0 対応ドライバパッケージのマッチングMySql データベースをバージョン 8.0 ...
この記事では、例を使用して、MySQL 外部キーの基本的な機能と使用方法を説明します。ご参考までに、...
最近、H1 については多くの議論が行われていますが (記事のコンテンツ ページ内)、おおよそ 2 つ...
この記事では、参考までに、簡単な虫眼鏡効果を実現するためのVueの具体的なコードを紹介します。具体的...
仮想マシンはホストマシンにインストールされます。 CPU とメモリはホスト マシンと共有する必要があ...
この記事では、弾性ナビゲーション効果を実現するためのJavaScriptの具体的なコードを参考までに...