ホームページ > バックエンド開発 > PHPチュートリアル > PHP デザイン パターン - 状態パターン_PHP チュートリアル

PHP デザイン パターン - 状態パターン_PHP チュートリアル

WBOY
リリース: 2016-07-13 09:51:01
オリジナル
902 人が閲覧しました

PHP デザインパターン - 状態パターン

State パターンを使用すると、オブジェクトの固有の状態が変化したときにオブジェクトの動作を変更し、オブジェクトのクラスが変更されたように見せることができます。状態パターンは主に、オブジェクトの状態を制御する条件式が複雑すぎる場合の状況を解決します。状態判定ロジックを異なる状態を表す一連のクラスに移すことで、複雑な判定ロジックを簡素化できます。

UML クラス図:

キャラクター:

コンテキスト環境 (作業): クライアント プログラムに必要なインターフェイスを定義し、特定の状態ロールのインスタンスを維持し、状態関連の操作を現在の特定のオブジェクトに委任して処理します。

抽象状態 (State): コンテキスト環境を使用して、特定の状態に関連する動作をカプセル化するインターフェイスを定義します。

具象状態 (AmState): 抽象状態によって定義されたインターフェイスを実装します。

コアコード:

リーリー
クライアントのテスト コードを呼び出します。

リーリー
該当するシーン:

1. オブジェクトの動作はその状態に依存し、実行時の状態に応じて動作を変更する必要があります。

2. 操作には巨大な複数分岐構造が含まれており、これらの分岐はオブジェクトの状態によって決まります。

メリット

1. 状態パターンは、特定の状態に関連する動作を局所化し、異なる状態の動作を分離します。

2. 状態関連のコードはすべて ConcereteState に存在するため、新しいサブクラスを定義することで新しい状態や遷移を簡単に追加できます。

3. ステートモードは、さまざまなステート転送ロジックをステートのサブクラスに分割することで相互依存を軽減します。

デメリット

より多くの ConcreteState サブクラスが生成される

私のビデオコースをフォローすることを歓迎します。アドレスは次のとおりです、ありがとうございます。

PHP オブジェクト指向デザインパターン

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1015542.html技術記事 PHP デザイン パターン - State パターン State パターンを使用すると、オブジェクトの固有の状態が変化したときにオブジェクトの動作を変更し、オブジェクトのクラスが変更されたように見せることができます。ステートモードの主な解決策は...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート