PHP デザイン パターン シリーズ - オブザーバー パターン_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:52:25
オリジナル
820 人が閲覧しました

オブザーバーモード
Observer デザイン パターンにより、オブジェクト ステータスを対象とするオブジェクトの作成と表示が容易になり、コア オブジェクトから分離されたトップレベルの機能が提供されます。オブザーバー デザイン パターンは、一般に複雑な WEB システムで非常によく使用され、コード設計の負担を軽減し、コードの結合を減らすのに役立ちます。
シーンデザイン
オーダークラスを設計する
注文が作成されると、電子メールの送信や注文ステータスの変更など、さまざまなアクションが実行されます。
本来の方法は、これらの操作をすべて create 関数に記述することです
しかし、注文作成クラスがますます大きくなるにつれて、そのような業務は需要と急速な変化に対応できなくなります
このとき、オブザーバーモードが表示されます。
コード設計:
[php]
//オブザーバー デザイン パターンにより、ターゲット オブジェクトのステータスを持つオブジェクトの作成と表示が容易になり、コア オブジェクトから切り離された最上位の機能が提供されます。
// オブザーバー デザイン パターンは、一般に複雑な WEB システムで非常によく使用され、コード設計の負担を軽減し、コードの結合を減らすのに役立ちます。
//ショッピングプロセスを例に挙げます
クラスの順序 {

Protected $observers = array() // 観測コンテナを保存します
;
// オブザーバーが追加されました
パブリック関数 addObServer($type, $observer) {
$this->observers[$type][] = $observer; }

// オブザーバーを実行します
パブリック関数 obServer($type) {
If (isset($this->observers[$type])) {
foreach ($this->observers[$type] as $obser) {
$a = 新しい $obser; $a->update($this); //パブリックメソッド
;                                                                        }
}

//注文購入プロセス
パブリック関数 create() {
「購入成功」をエコーし​​ます
; $this->obServer('buy') // 購入アクション
; }
}
クラスオーダーメール {
パブリック静的関数 update($order) {
echo '購入が成功したことを示すメールを送信します'; }
}
クラス orderStatus {
パブリック静的関数 update($order) {
「注文ステータスを変更」をエコーし​​ます
; }
}
$ob = 新しい注文
$ob->addObServer('購入', '注文メール'); $ob->addObServer('buy', 'orderStatus'); $ob->create(); 作者: initphp



http://www.bkjia.com/PHPjc/478126.html

www.bkjia.com

本当

http://www.bkjia.com/PHPjc/478126.html技術記事オブザーバー パターン オブザーバー デザイン パターンを使用すると、ターゲット オブジェクトのステータスを持つオブジェクトの作成と表示が容易になり、コア オブジェクトから切り離されたトップレベルの機能が提供されます。オブザーバーのデザイン パターンは非常に一般的です...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!