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

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

WBOY
リリース: 2016-06-23 13:06:00
オリジナル
885 人が閲覧しました

メモ パターンは動作パターンです。動作パターンとは何ですか? つまり、動作パターンは、オブジェクトやクラスのパターンを記述するだけでなく、通信も記述します。それらの間のメソッドを使用すると、実行時に追跡するのが難しい複雑な制御フローが削除され、制御フローからオブジェクト間の関係に注意が移ります。動作クラス パターンは、継承メカニズムを使用してクラス間で動作をディスパッチします

概要: カプセル化を破壊せずに、オブジェクトの内部状態をキャプチャし、この状態をオブジェクトの外部に保存します。これにより、オブジェクトを元の保存された状態に復元できます

個人用例:

1 閲覧用ブックマーク

2 メッセージボックス

/**

* 役割の開始

* メモの役割

* メモの役割の管理

*/

namespace haibaodesignwebviewdesign;

use haibaodesignwebcommondesignmementoOriginator;

use haibaodesign webcommondesignmementoCaretaker ;

クラス Memento は、haibaodesignwebviewBase を拡張します{

保護関数 preRender(){

header("Content-type: text/html; charset=utf-8");

$originator = new Originator();

$ Originator->state = "オン";

$originator->show();

$caretaker = new Caretaker();

$caretaker->setMemento($originator->createMemento());

$originator->gt; state = "オフ";

$originator->show();

$originator->setMemento($caretaker->getMemento());

$originator->show();

}

}

/**

* 管理の役割

*/

namespace haibaodesignwebcommondesignmemento;

class Caretaker{

private $memento;

public function setMemento( $memento ){

$これ- >memento = $memento ;

}

public function getMemento(){

return $this->memento;

}

}

/ **

* メモ文字

*/

namespacehaibaodesignwebcommondesignmemento;

return $this->state;

}

}

/**

* スポンサーの役割

*/

namespace haibaodesignwebcommondesignmemento;

class Originator{

public $state;

公開function createMemento(){

return new Mementor($this->state);

}

public function setMemento(Mementor $memento){

$this->state = $ memento->getState() ;

}

public function show(){

echo "
State=".$this->state;

}

}

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート