ホームページ >よくある問題 >オブザーバーパターンとは何ですか?

オブザーバーパターンとは何ですか?

Guanhui
Guanhuiオリジナル
2020-06-28 16:12:294436ブラウズ

オブザーバー パターンは、オブジェクト間の 1 対多の依存関係を定義するオブジェクトの動作パターンです。オブジェクトの状態が変化すると、それに依存するすべてのオブジェクトが通知され、自動的に更新されるため、オブジェクトの状態が向上します。アプリケーションの保守性と再利用性。

オブザーバーパターンとは何ですか?

#オブザーバー パターンは、オブジェクトの動作パターンです。オブジェクト間の 1 対多の依存関係を定義します。オブジェクトの状態が変化すると、そのオブジェクトに依存するすべてのオブジェクトが通知され、自動的に更新されます。オブザーバー パターンでは、トピックは通知の発行者です。通知を発行するときに、そのオブザーバーが誰であるかを知る必要はありません。任意の数のオブザーバーがサブスクライブして通知を受信できます。オブザーバー パターンは、ソフトウェア インターフェイス要素間の対話だけでなく、ビジネス オブジェクト間の対話、権限管理などでも広く使用されています。

Observer パターン (Observer) は、観察者を観察対象のオブジェクトから完全に分離します。例えば、ユーザーインターフェースがオブザーバーとして機能し、ビジネスデータが観察対象となり、ユーザーインターフェースはビジネスデータの変化を観察し、データの変化を発見した後、それをインターフェース上に表示することができます。オブジェクト指向設計の原則の 1 つは、システム内の各クラスが他の側面ではなく特定の機能に焦点を当てるということです。オブジェクトは 1 つのことを実行し、それをうまく実行します。 Observer パターンはモジュール間に明確な境界を描き、アプリケーションの保守性と再利用性を向上させます。

オブザーバー デザイン パターンは、オブジェクト間の 1 対多の組み合わせ関係を定義するため、オブジェクトの状態が変化すると、それに依存するすべてのオブジェクトが通知され、自動的に更新されます。

Observer パターンの実装方法

Observer パターンを実装するには多くの方法があります。基本的に、パターンには 2 つの役割 (オブザーバーと監視オブジェクト) が含まれている必要があります。 . .先ほどの例では、ビジネス データが観察対象オブジェクトであり、ユーザー インターフェイスが観察者です。観察する者と観察されるものの間には論理的な「観察」の関係があり、観察されるものが変化すると、観察者はその変化を観察し、それに応じて対応します。このような監視プロセスをユーザー インターフェイスとビジネス データの間に使用すると、インターフェイスとデータの間の明確な境界を確保できます。アプリケーションの要件が変更され、インターフェイスのパフォーマンスを変更する必要があると仮定すると、ユーザー インターフェイスとデータのみを変更するだけで済みます。ビジネス データを再構築する必要がありますが、変更を行う必要はありません。

オブザーバー パターンの使用シナリオ

1. 抽象モデルに 2 つの側面があり、一方が他方に依存する場合。 2 つを個別のオブジェクトにカプセル化して、個別に変更して再利用できるようにします。

2. 1 つのオブジェクトを変更するときに他のオブジェクトも同時に変更する必要がある場合、いくつのオブジェクトを変更する必要があるかはわかりません。

3. オブジェクトが他のオブジェクトに通知する必要がある場合、他のオブジェクトが誰であるかを想定することはできません。言い換えれば、これらのオブジェクトが密結合されることは望ましくありません。

推奨チュートリアル: 「PHP チュートリアル

以上がオブザーバーパターンとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。