ホームページ >バックエンド開発 >PHPチュートリアル >PHP デザイン パターン: オブザーバー パターン オブザーバー デザイン パターン アプリケーション Java オブザーバー デザイン パターン デザイン パターン デコレーター パターン

PHP デザイン パターン: オブザーバー パターン オブザーバー デザイン パターン アプリケーション Java オブザーバー デザイン パターン デザイン パターン デコレーター パターン

WBOY
WBOYオリジナル
2016-07-29 08:49:161155ブラウズ

Observer パターンの紹介

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

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

実装方法

オブザーバー パターンを実装するには、多くの方法があります。基本的に、このパターンには、オブザーバーと観察されるオブジェクトという 2 つの役割が含まれている必要があります。 PHP では、SplSubject インターフェイスと SplObserver インターフェイスを使用してオブザーバー パターンを実装します。

SplSubject 観測対象オブジェクト

SplSubject {
/* 方法 */
abstract public void attach ( SplObserver $observer ) //将被观察对象注册到观察者中
abstract public void detach ( SplObserver $observer ) //被观察对账取消注册
abstract public void notify ( void )  //通知所有观察者
}

SplObserver Observer

SplObserver {
/* 方法 */
abstract public void update ( SplSubject $subject ) //观察者接受到通知的时候,作出相应改变
}

UML クラス図

设计模式 观察者模式,观察者模式 事件模式,策略模式 观察者模式,c#观察者设计模式,观察者模式 命令模式,观察者设计模式应用,java 观察者设计模式,设计模式 装饰者模

ユーザー登録が成功した後、ユーザーのデータを に保存する必要があります。データベースを作成し、ユーザーに電子メールを送信します。オブザーバー コードを使用して実装します。

登録が成功すると、オブザーバーは、notify メソッドを呼び出して、すべてのオブザーバーに通知します。

りー

上記は、オブザーバー パターンとデザイン パターンを含む、PHP デザイン パターン: オブザーバー パターンを紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

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