PHPオブザーバーパターンの詳しい説明
Jun 05, 2018 pm 05:13 PMこの記事では主に PHP オブザーバーモードの詳細な説明を紹介します。興味のある方はぜひ参考にしてください。
1. インテント
オブジェクト間の 1 対多の依存関係を定義します。オブジェクトの状態が変化すると、それに依存するすべてのオブジェクトが通知され、自動的に更新されます [GOF95]
これをパブリッシュと呼びます。 -Subscribe(Publish-Subscribe)モード、Model-View(モデルビュー)モード、ソース-リスナー(Source-Listener)モード、またはDependents(依存関係)モード
2. オブザーバーパターン構造図
3. オブザーバー パターンの主な役割 抽象サブジェクト (Subject) ロール: サブジェクト ロールは、オブザーバー オブジェクトへのすべての参照をコレクションに保存します。各サブジェクトは任意の数のオブザーバーを持つことができます。抽象テーマは、オブザーバー オブジェクトを追加および削除するためのインターフェイスを提供します。
抽象オブザーバー (オブザーバー) の役割: すべての特定のオブザーバーのインターフェイスを定義し、観察の対象が変更されたときに自身を更新します。
具体的なサブジェクト (ConcreteSubject) の役割: 特定のオブザーバー オブジェクトへのストレージ関連の状態 特定のサブジェクトの内部状態が変化すると、登録されているすべてのオブザーバーに通知が送信されます。具体的なテーマの役割は、通常、具体的なサブクラスを使用して実装されます。
具象オブザーバー (ConcretedObserver) ロール: 特定のサブジェクト オブジェクトを保存し、関連する状態を保存し、抽象オブザーバー ロールが独自の状態をサブジェクトの状態と一致させるために必要な更新インターフェイスを実装します。
4. オブザーバー パターンの利点と欠点: 1 オブザーバーとサブジェクト間の結合が小さい。 オブザーバー パターンの欠点:
1。オブザーバーは他のオブザーバーの存在を知らないため、ターゲットを変更する最終的なコストがわからない可能性があります。これにより、予期しない更新が発生する可能性があります。
5. オブザーバーパターンの適用可能なシナリオ
1. 抽象モデルに 2 つの側面があり、一方が他方に依存する場合。 2. 1 つのオブジェクトを変更するときに他のオブジェクトも同時に変更する必要がある場合、いくつのオブジェクトを変更する必要があるかはわかりません。
3. オブジェクトが他のオブジェクトに通知する必要がある場合、他のオブジェクトが誰であるかを想定することはできません。言い換えれば、これらのオブジェクトが密結合されることは望ましくありません。 6. オブザーバー パターンとその他のパターン
メディエーター パターン (メディエーター):
複雑な更新セマンティクスをカプセル化することにより、ChangeManager はターゲットとオブザーバーの間のメディエーターとして機能します。 シングルトン モード (シングルトン モード): ChangeManager はシングルトン モードを使用して、一意でグローバルにアクセスできることを保証できます。 7. オブザーバーモードの PHP サンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
|
概要: 上記がこの記事の全内容です。皆さんの学習に役立つことを願っています。 関連する推奨事項: PHP でユーザー名、携帯電話、電子メールを非表示にするアスタリスクを実装する方法 php WeChat パブリック プラットフォーム構成インターフェイス開発プログラムの詳細な方法の例 PHP 実装 前の記事 次の記事 詳細方法の説明
以上がPHPオブザーバーパターンの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック











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

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