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

网站开发项目教程江苏网站seo营销模板

网站开发项目教程,江苏网站seo营销模板,上海中远建设 网站,如何做一个企业网站定义 备忘录模式(Memento Pattern)是一种行为设计模式,它允许在不破坏封装性的前提下捕获一个对象的内部状态,并在以后将对象恢复到该状态。备忘录模式通常用于实现撤销操作(Undo)或历史记录(H…

定义

备忘录模式(Memento Pattern)是一种行为设计模式,它允许在不破坏封装性的前提下捕获一个对象的内部状态,并在以后将对象恢复到该状态。备忘录模式通常用于实现撤销操作(Undo)或历史记录(History)等功能。

在备忘录模式中,我们定义三个角色:

  1. Originator:记录当前时刻它的内部状态,并可使用备忘录对象恢复到之前的状态。
  2. Memento:负责存储Originator对象的内部状态,并可防止Originator以外的对象访问备忘录。
  3. Caretaker:负责保存好备忘录对象,不能对备忘录的内容进行操作或检查。

示例

下面是一个C++的备忘录模式示例:

#include <iostream>  
#include <string>  
#include <vector>  // Memento类,存储Originator的内部状态  
class Memento {  
public:  std::string state; // 假设Originator有一个string类型的状态  // 构造函数,用于从Originator获取状态  Memento(const std::string& state) : state(state) {}  
};  // Originator类,负责创建Memento,并可以使用Memento恢复状态  
class Originator {  
private:  std::string state; // Originator的内部状态  public:  // 获取当前状态  std::string getState() const {  return state;  }  // 设置状态  void setState(const std::string& newState) {  state = newState;  std::cout << "Originator state changed to: " << state << std::endl;  }  // 创建Memento对象,保存当前状态  Memento* createMemento() {  return new Memento(state);  }  // 使用Memento恢复状态  void restoreMemento(const Memento* memento) {  state = memento->state;  std::cout << "Originator state restored to: " << state << std::endl;  }  
};  // Caretaker类,负责保存Memento对象  
class Caretaker {  
private:  std::vector<Memento*> mementos; // 存储Memento对象的容器  public:  // 添加Memento到容器中  void addMemento(Memento* memento) {  mementos.push_back(memento);  }  // 获取Memento对象,用于恢复状态  Memento* getMemento(int index) {  if (index >= 0 && index < mementos.size()) {  return mementos[index];  }  return nullptr;  }  
};  int main() {  Originator* originator = new Originator();  Caretaker* caretaker = new Caretaker();  // 设置Originator的初始状态  originator->setState("Initial State");  // 保存当前状态到Caretaker  caretaker->addMemento(originator->createMemento());  // 修改Originator的状态  originator->setState("Modified State");  // 使用Caretaker中的Memento恢复Originator的状态  originator->restoreMemento(caretaker->getMemento(0));  // 清理资源  delete originator;  delete caretaker;  return 0;  
}

在这个示例中:

  • Memento 类存储了 Originator 的内部状态,即一个字符串 state
  • Originator 类有一个私有成员 state,并提供了 setState 和 getState 方法来修改和获取这个状态。它还提供了 createMemento 方法来创建一个包含当前状态的 Memento 对象,以及 restoreMemento 方法来根据 Memento 对象恢复状态。
  • Caretaker 类负责保存 Memento 对象,并提供 addMemento 和 getMemento 方法来添加和获取 Memento 对象。

在 main 函数中,我们创建了一个 Originator 对象和一个 Caretaker 对象。我们首先设置了 Originator 的初始状态,并将这个状态保存到 Caretaker 中。然后我们修改了 Originator 的状态,并使用 Caretaker 中保存的 Memento 对象来恢复 Originator 的状态。

这个示例展示了如何使用备忘录模式来保存和恢复对象的状态。在实际应用中,备忘录模式常用于实现撤销操作、历史记录、事务处理等需要保存和恢复对象状态的功能。

http://www.hkea.cn/news/464892/

相关文章:

  • 做网站设计工资多少钱优化教程网官网
  • 计算机网站建设与维护百度关键词统计
  • wordpress网站实现微信登录google google
  • 网站建设 零基础网站关键词如何优化
  • 如何撤销网站上信息app网站
  • 单页式网站系统每日新闻摘要30条
  • 网站开发公司 广告词优化方案电子版
  • 做便民工具网站怎么样关键词挖掘站长工具
  • 纺织面料做哪个网站好百度站长资源
  • 菏泽网站建设哪好怎样做平台推广
  • 网上有做logo的网站吗网络营销的核心是什么
  • 自建网站怎么做推广微信营销策略
  • 跳网站查询的二维码怎么做的关键词排名点击软件网站
  • 兼容手机的网站百度怎么推广自己的视频
  • 宝安中心医院入职体检跟我学seo
  • 企业网站后端模板石家庄疫情最新情况
  • 沈阳哪家网站做的好网络营销是指什么
  • 我的网站模板网站建设主要推广方式
  • 国外app素材网站seo运营是做什么的
  • 企业网站seo怎么做百度帐号个人中心
  • 郑州网站建设亅汉狮网络百度网盘seo优化
  • 模板型网站seo优化平台
  • 官方网站下载免费软件培训机构有哪些?哪个比较好
  • 网站导航怎么做的惠州seo计费管理
  • 建设公司网站模板全国唯一一个没有疫情的城市
  • 网站怎么做seo_南京百度提升优化
  • 旅游网站开发与设计论文怎么样建网站
  • 北京网站推广排名公司企业网站的搜索引擎推广与优化
  • 动态网站期末设计广告营销策略
  • 山东网站营销推广费用旺道seo推广