目次
PHP デザイン パターン オブザーバー パターンの例、PHP デザイン パターン オブザーバー
興味がありそうな記事:
ホームページ バックエンド開発 PHPチュートリアル PHP デザイン パターン オブザーバー パターンの例、PHP デザイン パターン オブザーバー_PHP チュートリアル

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

Jul 12, 2016 am 08:58 AM
php モデル

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

まず、オブザーバー パターンの概念を理解します。オブジェクトは、(別のオブジェクトであるオブザーバーが自身を登録できるようにする) Observable メソッドを追加することで、それ自体を変数にします。監視可能なオブジェクトが変化すると、登録されたオブザーバーにメッセージが送信されます。これらのオブザーバーは、この情報を使用して、監視可能なオブジェクトとは独立して操作を実行します。その結果、オブジェクトは理由を理解することなく相互に通信できるようになります。オブザーバー パターンはイベント システムです。つまり、このパターンにより、クラスが別のクラスの状態を監視できるようになり、監視しているクラスは通知を受け取り、対応するアクションを実行できます。コンポーネント間の密結合を回避する機能を備えています。

UML 構造図:

オブザーバーパターンによって解決される問題

開発プロセス中に、コードの一部を変更すると他の一連の変更が発生するという問題に多かれ少なかれ遭遇するはずです。この状況を完全に回避することは明らかに不可能ですが、他の部分への影響を最小限に抑えるように努める必要もあります。コンポーネントの依存関係、およびオブザーバー パターンはこの問題を解決します。

たとえば、次のコードを持つ post オブジェクトがあります:

リーリー

上記は通常の投稿対象です。投稿数やアクセス数が増えると、当社のウェブサイトにセンシティブなコンテンツやスパム広告が含まれているという苦情の電話が頻繁に届きます。コンテンツのレビュー: 第一に、ユーザーのレビュー。ブラックリストに登録された一部のユーザーは投稿を禁止されるべきです。第二に、IP のレビュー。第三に、コンテンツ内のセンシティブな単語のレビューです。コードは次のようになります:

リーリー

レビューする必要があるフィールドが増えるにつれて、addPost メソッドはますます長くなり、公開オブジェクトはシステムにしっかりと埋め込むことしかできなくなります。

オブザーバーパターンの実装

オブザーバー パターンの核心は、イベントが発生したことをサブジェクトが知っているときに、オブザーバーをサブジェクトから分離することですが、同時に、オブジェクト間の関係をハードコーディングしたくありません。サブジェクトとオブザーバーを変更するので、上記のコードをダウンロードします:

リーリー

上記のコードを使用すると、監査ルールを簡単に追加できます。

SPLコード

オブザーバー パターンは非常に一般的で一般的に使用されるデザイン パターンであるため、SPL 拡張機能によって対応するクラスとメソッドがカプセル化されています。次のコードは、SPL によって提供される 3 つの要素 (SplObserver、SplSubject、SplObjectStorage) に基づいて実装されています。コード

リーリー

最も重要なことは、この例ではいくつかのレビュー メソッドを post クラスから分離しており、post オブジェクトは他の公開タイプとしても使用できることを理解することです。

上記の内容の実装は、編集者が皆さんに紹介したPHPデザインパターンのオブザーバーモードです。

興味がありそうな記事:

  • phpのオブザーバーパターン
  • phpデザインパターンObserver(オブザーバーパターン)
  • PHPデザインパターンオブザーバーパターンの紹介
  • PHPオブザーバーパターン実装コード
  • phpアプリケーションの詳細説明デザイン パターンにおける Observer パターンの詳細
  • PHP デザイン パターンにおける Observer パターンの詳細な紹介とコード例
  • Ruby、JavaScript、および php での Observer パターン実装コード
  • PHP における Observer パターンの簡単な例
  • PHP を学ぶデザインパターン PHP は Observer パターン (Observer) を実装します

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1102470.html技術記事 PHP デザイン パターン オブザーバー パターンの例、PHP デザイン パターン オブザーバーは、まずオブザーバー パターンの概念を理解します。オブジェクトはメソッドを追加できます (このメソッドにより、別のオブジェクトが監視できるようになります...
)
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

CakePHP の日付と時刻

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

CakePHP プロジェクトの構成

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

CakePHP ファイルのアップロード

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

CakePHP ルーティング

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP について話し合う

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP クイックガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

See all articles