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

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

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

PHP デザインパターン - メモパターン

メモ モードは、スナップショット モードまたはトークン モードとも呼ばれます。これは、オブジェクトの内部状態をキャプチャし、クロージャを破壊せずにこの状態をオブジェクトの外部に保存します。これにより、後でオブジェクトを元の保存状態に復元できます。

UML クラス図:

キャラクター:

1. イニシエーター (GameRole): 現時点での自身の内部状態を記録するメモの作成を担当し、そのメモを使用して内部状態を復元できます。発信者は、必要に応じて、メモにどの内部状態を保存するかを決定できます。

2. メモ (RoleStateSaveBox): イニシエーター オブジェクトの内部状態を保存し、イニシエーター以外の他のオブジェクトがメモにアクセスできないようにします。メモには 2 つのインターフェイスがあります。管理者はメモの狭いインターフェイスしか見ることができず、メモを他のオブジェクトに渡すことしかできません。ただし、開始者はメモの幅広いインターフェイスを認識するため、以前の状態に戻すために必要なすべてのデータにアクセスできます。

3. マネージャー (GameRoleStateManager): メモへのアクセスを担当し、コンテンツにアクセスしたり操作したりすることはできません。

コアコード:

リーリー
テストコード: リーリー

利点:

1. イニシエーター オブジェクトの一部の内部情報をイニシエーター オブジェクトの外部に保存する必要がある場合がありますが、このとき、メモ モードを使用してイニシエーターの複雑な内部情報を他のものに転送できます。カプセル化の境界が適切に維持されるようにオブジェクトがシールドされます。

2. このモードは、開始者を簡素化します。イニシエーターは内部状態のバージョンを管理および保存する必要がなくなり、クライアントは必要なこれらの状態のバージョンを管理できるようになります。

短所:

1. イニシエーター ロールのステータスをメモ オブジェクトに完全に保存する必要がある場合、メモ オブジェクトはリソース消費の点で非常に高価になります。

2. 担当者がメモを保存する場合、そのステータスがどのくらいのストレージスペースを占めるかが分からないため、操作が高価であるかどうかをユーザーに思い出させることができません。


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

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

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