设计模式之七——备忘录模式
2009-03-08 13:17
127 查看
在评估系统项目中,有一个功能是保存用户以前操作过的图形设置方式以便下次使用,使用备忘录模式可以应对日后项目需求的变化,备忘录模式的类图如下:
![](http://p.blog.csdn.net/images/p_blog_csdn_net/emtit2008/EntryImages/20090308/类图.gif)
学过UML的应看得懂,图形类依赖于图形状态类,图形状态类聚合到图形状态管理类。
代码经过简化,如下
图形类graphics.php
图形状态类graphicsState.PHP
图形管理类graphicsCatetaker.php
![](http://p.blog.csdn.net/images/p_blog_csdn_net/emtit2008/EntryImages/20090308/类图.gif)
学过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; } } ?>
相关文章推荐
- 设计模式之---备忘录模式
- 深入浅出设计模式——备忘录模式(Memento Pattern)
- Objective-C 设计模式-备忘录模式(Memento)
- [设计模式]备忘录模式(Memento)
- 设计模式之备忘录模式
- 乐在其中设计模式(C#) - 备忘录模式(Memento Pattern)
- 设计模式之备忘录模式
- 设计模式之十四:备忘录模式(Memento)
- 设计模式GOF23——备忘录模式
- C#设计模式——备忘录模式(Memento Pattern)
- 设计模式20:Memento 备忘录模式(行为型模式)
- java设计模式——备忘录模式(Memento Pattern)
- Alamps学习设计模式之备忘录模式(笑话:劫个色OR抢个鸡蛋版)
- C++设计模式[十七]备忘录模式
- 设计模式之备忘录模式
- Android设计模式(十二)-备忘录模式
- 设计模式C++实现(12)——备忘录模式
- 设计模式之备忘录模式
- Java设计模式(15)备忘录模式(Memento模式)
- 深入浅出设计模式笔记之十五:备忘录模式