ホームページ  >  記事  >  バックエンド開発  >  PHP デザイン パターン オブザーバー パターン、PHP デザイン パターン オブザーバー_PHP チュートリアル

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

WBOY
WBOYオリジナル
2016-07-12 08:57:54910ブラウズ

PHP デザイン パターン オブザーバー パターン、PHP デザイン パターン オブザーバー

はじめに 現在、デザインパターンの使用を推奨する学校と、デザインパターンの使用を推奨しない学校が 2 つあります。
これは記事を書くのと同じで、物語的な記事、時間、場所、登場人物、出来事などのルーチンに従う記事を好む人もいます。エッセイや散文を書くのが好きな人もいれば、詩を書くのが好きな人もいます。

現在、コードを書くことは多くの点で記事を書くことと似ていますが、場合によっては記事を書くことよりも高いスキルが必要です。書きすぎると優れた記事が書ける場合が多く、コードも同様です。書きすぎると良いコードがたくさん書けます。

デザイン パターンを見ると、いくつかのデザイン パターンが私のコーディング習慣にぴったり合うことがよくあります。しかし、無理にやろうとすると逆効果になります。 ——ほとんどの場合、手を覚えて応用の中でそれを無意識に使う必要がありますが、「手を動かさずに勝つ手がある」というのは本当ですか? ​ 私がデザインパターンを学ぼうとした当初の目的は、「そんなものがあるの?」ということを知ることでした。このイメージを頭に入れておけば、迷うことはありません!デザインパターンが自分の習慣に合っていないと、コードを読むのに悪影響を及ぼします。 ​ Observer パターンはオブジェクトの 1 対多の依存関係を定義するため、オブジェクトの状態が変化すると、そのすべての依存関係が通知され、自動的に更新されます。 ​ 設計原則 ​ 観察者パターンでは、変化するのは被験者のステータスと観察者の数です。このパターンを使用すると、テーマを変更せずに、テーマの状態に依存するオブジェクトを変更できます。 --プログラムの変化する側面を見つけて、修正されている側面から分離してください。 ​ サブジェクトとオブザーバーはどちらもインターフェイスを使用します。オブザーバーはサブジェクトのインターフェイスを使用してサブジェクトに登録し、サブジェクトはオブザーバー インターフェイスを使用してオブザーバーに通知します。これにより、両者は正常に動作すると同時に、疎結合の利点も得られます。実装プログラミングではなく、インターフェイス プログラミングが可能です。 。 オブザーバー パターンは、「合成」を使用して、多数のオブザーバーをトピックに結合します。オブジェクト (オブザーバー - サブジェクト) 間のこの関係は、継承ではなく、実行時の合成によって生成されます。——多用組、少用承承!   代  
<?php /** * 观察者模式 * @author: Mac */     class Paper{ /* 主题 */ private $_observers = array();   public function register($sub){ /* 注册观察者 */ $this->_observers[] = $sub;     }             public function trigger(){  /*  外部统一访问    */public 関数 trigger(){ /* 外部统一访问 */         if(!empty($this->_observers)){             foreach($this->_observers as $observer){                 $observer->update();             }         }     } }   /**  * 观察者要实现的接口  */ interface Observerable{     public function update();public 関数 update(); }   class Subscriber implements Observerable{     public function update(){public 関数 update(){         echo "Callbackn";     } }

以下はテストコードです

/*  测试    */ $paper = new Paper(); $paper->register(new Subscriber()); //$paper->register(new Subscriber1()); //$paper->register(new Subscriber2()); $paper->trigger();

要約する ​​​​ 新しいオブジェクトを入力する場合は、それをサブジェクト (オブザーバブルとも呼ばれます) に登録するだけで済みます (登録方法は多数あり、構築中、またはフレームワークによってアクセスされるインターフェイスに登録することもできます)。次に、コードを直接実装します。新しいオブジェクトのインターフェイスでそれを実行します。これにより、被写体と観察者のオブジェクト間の結合が減少します。 ​ 優れたデザインパターンはコードに直接組み込まれるのではなく、脳に組み込まれます。

www.bkjia.com本当http://www.bkjia.com/PHPjc/1106379.html技術記事 PHP デザイン パターン オブザーバー パターン、PHP デザイン パターン オブザーバー はじめに 現在、デザイン パターンの使用を推奨する派と、デザイン パターンの使用を推奨しない派の 2 つがあります。 記事の執筆についてです...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。