当前位置: 首页 > news >正文

营销型网站北京/武汉seo技术

营销型网站北京,武汉seo技术,最近三天国内重大新闻,泰安做网站多少钱1.意图 备忘录模式是一种行为型设计模式,允许在不破坏封装的特性前提,获取并保存一个对象的内部状态,后续需要时恢复该状态。核心是将对象的状态存储在一个独立的备忘录对象中,并在需要时恢复。 2.模式类型 行为型对象设计模式 …

1.意图

        备忘录模式是一种行为型设计模式,允许在不破坏封装的特性前提,获取并保存一个对象的内部状态,后续需要时恢复该状态。核心是将对象的状态存储在一个独立的备忘录对象中,并在需要时恢复。

2.模式类型

       行为型对象设计模式

3.UML图

上述类的表示:

        a.Originator 负责创建 Memento 并恢复状态。

        b.Caretaker 存储多个 Memento,但不修改其内容。

        c.Memento 仅提供 getState() 方法,确保封装性。

4.优缺点

        优点:

        提供了恢复状态机制,且保持对象的封装性,支持撤销操作。

        缺点:

        耗费内存,且增加了代码的复杂度,频繁的操作性能下降。

5.示例代码

#include <iostream>
#include <string>
#include <vector>
#include <sstream>// 备忘录类(存储 Originator 的状态)
class Memento {
private:std::string state;  // 保存的状态public:Memento(const std::string& state) : state(state) {}std::string getState() const { return state; }
};// 原发器类(需要保存状态的对象)
class Originator {
private:std::string state;public:void setState(const std::string& newState) {std::cout << "Originator: Change state to " << newState << std::endl;state = newState;}// 创建备忘录(保存当前状态)Memento save() {return Memento(state);}// 恢复备忘录(恢复之前的状态)void restore(const Memento& memento) {state = memento.getState();std::cout << "Originator: Restored state to " << state << std::endl;}void printCurrentState(){std::cout << "Originator: current state is  " << state << std::endl;}
};// 管理者类(存储备忘录)
class Caretaker {
private:std::vector<Memento> mementos;public:void addMemento(const Memento& memento) {mementos.push_back(memento); // 每个状态都对应一个Memento类}Memento getMemento(int index) {return mementos.at(index);}
};// 客户端代码
int main() {Originator originator;Caretaker caretaker;for(auto i = 0;i < 5;++i){// 设置状态并保存std::stringstream  ss;ss << i;std::string strStat = "State #" + ss.str();originator.setState(strStat);caretaker.addMemento(originator.save());}originator.printCurrentState();// 恢复到第一个状态originator.restore(caretaker.getMemento(3));return 0;
}输出:
root@ubuntu:~/mySpace/design_m_c++/disign_modle/Beiwanglu# ./a.out 
Originator: Change state to State #0
Originator: Change state to State #1
Originator: Change state to State #2
Originator: Change state to State #3
Originator: Change state to State #4
Originator: current state is  State #4
Originator: Restored state to State #3

综上即为备忘录模式特点。 

http://www.whsansanxincailiao.cn/news/32024334.html

相关文章:

  • 网站建设与维护实训ppt/seo排名优化软件价格
  • 深圳做网站排名哪家好/代做百度收录排名
  • 请别人做网站注意事项/网站404页面怎么做
  • 外贸怎么做网站/网站运营优化培训
  • 开发网站服务器/百度在线客服
  • wordpress 日志怎么看/网络优化工程师证书
  • 聊城做网站价位/常用的网络营销方法
  • 处理营销型网站建设策划的几个误区/点击宝seo
  • 网站开发有前途吗/郑州网站推广公司哪家好
  • 做盗版电影网站犯法吗/百度广告屏蔽
  • 做地产网站/什么推广软件效果好
  • 石家庄 网站编辑/互联网平台推广是什么意思
  • 深圳上市公司一览表/谷歌seo教程
  • 个人网页设计大全/宁波seo哪家好快速推广
  • 荣耀手机官网旗舰店/百度seo排名优化提高流量
  • 网站小视频怎么做代理/域名流量查询工具
  • 郑州网站排名公司/企业培训方案制定
  • 搭建网页视频教程/谷歌关键词优化怎么做
  • 京东网站建设目的/优化模型有哪些
  • 专业做京东网站吗/强力搜索引擎
  • 网站上的文章用秀米可以做吗/网络宣传的好处
  • 南宁哪个公司做网站建设/芭蕉视频app无限次数
  • 做国际网站怎么做/做游戏推广怎么找客户
  • 做vip兼职设计师的网站有哪些/百度竞价托管费用
  • 重庆网络营销渠道/合肥网站优化公司
  • 分析企业网站建设流程/关键词优化seo排名
  • 做的网站老被攻击/如何自己建个网站
  • 淘宝网站首页怎么做/网页点击量统计
  • python java 网站开发/做网站企业
  • 长沙哪里做网站/互联网营销外包推广