您的位置:首页 > 其它

设计模式之七——备忘录模式

2009-03-08 13:17 127 查看
在评估系统项目中,有一个功能是保存用户以前操作过的图形设置方式以便下次使用,使用备忘录模式可以应对日后项目需求的变化,备忘录模式的类图如下:



学过UML的应看得懂,图形类依赖于图形状态类,图形状态类聚合到图形状态管理类。

代码经过简化,如下

图形类graphics.php

<?php

class graphics {

private $Xaxis;
private $Yaxis;

/**
* 保存图形设置
*
* @return graphicsState
*/
public function saveState(){
$graphicsState=new graphicsState($this->Xaxis,$this->Yaxis);
return $graphicsState;
}
/**
* 恢复图形设置
*
* @param graphicsState $graphicsState
*/
public function recoveryState(graphicsState $graphicsState){
$this->Xaxis=$graphicsState->Xaxis;
$this->Yaxis=$graphicsState->Yaxis;

}
/**
* 初始化图像
*
*/
public function setState($xais,$yais){
$this->Xaxis=$xais;
$this->Yaxis=$yais;
}

public function showGraphics(){
echo "x轴:".$this->Xaxis;
echo ";y轴:".$this->Yaxis."<br>";
}
}

?>


图形状态类graphicsState.PHP

<?php

class graphicsState {

private $Xaxis;
private $Yaxis;

public function graphicsState($xaxis,$yxaxis){
$this->Xaxis=$xaxis;
$this->Yaxis=$yxaxis;
}

}

?>


图形管理类graphicsCatetaker.php

<?php

class graphicsCaretaker {

private $graphicsState;

public function getState(){
return $this->graphicsState;
}

public function setState(graphicsState $graphicsState){
$this->graphicsState=$graphicsState;
}

}

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: