showState() public méthode

public showState ( )
Exemple #1
0
 public static function main()
 {
     //创建目标对象
     $orig = new Originator();
     $orig->setState('open');
     $orig->showState();
     //创建备忘
     $memento = $orig->createMemento();
     //通过Caretaker保存此备忘
     $caretaker = new Caretaker();
     $caretaker->setMemento($memento);
     //改变目标对象的状态
     $orig->setState('close');
     $orig->showState();
     //还原操作
     $orig->restoreMemento($caretaker->getMemento());
     $orig->showState();
 }
    // 负责人(Caretaker)角色
    private $_memento;
    public function getMemento()
    {
        return $this->_memento;
    }
    public function setMemento(Memento $memento)
    {
        $this->_memento = $memento;
    }
}
// client
/* 创建目标对象 */
$org = new Originator();
$org->setState('open');
$org->showState();
/* 创建备忘 */
$memento = $org->createMemento();
/* 通过Caretaker保存此备忘 */
$caretaker = new Caretaker();
$caretaker->setMemento($memento);
/* 改变目标对象的状态 */
$org->setState('close');
$org->showState();
$org->restoreMemento($memento);
$org->showState();
/* 改变目标对象的状态 */
$org->setState('close');
$org->showState();
/* 还原操作 */
$org->restoreMemento($caretaker->getMemento());
Exemple #3
0
/*
 * 管理员
 */
class caretaker
{
    private $_mememto;
    public function setMemento($memento)
    {
        $this->_mememto = $memento;
    }
    public function getMemento()
    {
        return $this->_mememto;
    }
}
//客户端代码
//备份前的状态
$originator = new Originator();
$originator->setState('on');
$originator->showState();
//创建备忘录
$memento = $originator->createMemento();
//通过管理员保存此状态
$caretaker = new caretaker();
$caretaker->setMemento($memento);
//改变目前对象的状态
$originator->setState('off');
$originator->showState();
//还原操作
$originator->restoreMemento($caretaker->getMemento());
$originator->showState();