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

网站备案公司倒闭做淘宝券网站

网站备案公司倒闭,做淘宝券网站,wordpress百度主动提交,临汾市建设局网站目录 一、模式核心概念与结构二、C++ 实现示例:文本编辑器撤销功能三、备忘录模式的关键特性四、应用场景五、备忘录模式与其他设计模式的关系六、C++ 标准库中的备忘录模式应用七、优缺点分析八、实战案例:游戏角色状态存档九、实现注意事项如果这篇文章对你有所帮助,渴望获…

目录

  • 一、模式核心概念与结构
  • 二、C++ 实现示例:文本编辑器撤销功能
  • 三、备忘录模式的关键特性
  • 四、应用场景
  • 五、备忘录模式与其他设计模式的关系
  • 六、C++ 标准库中的备忘录模式应用
  • 七、优缺点分析
  • 八、实战案例:游戏角色状态存档
  • 九、实现注意事项
    • 如果这篇文章对你有所帮助,渴望获得你的一个点赞!

备忘录模式(Memento Pattern)是一种【行为型】设计模式,它允许在不破坏对象封装性的前提下,捕获并保存对象的内部状态,以便后续可以将对象恢复到先前的状态。这种模式通过将状态保存和恢复操作分离,实现了对象状态管理的职责分离。

一、模式核心概念与结构

备忘录模式包含三个核心角色:

  1. 原发器(Originator):创建备忘录并使用备忘录恢复内部状态的对象。
  2. 备忘录(Memento):存储原发器内部状态的对象,通常提供有限的访问权限。
  3. 管理者(Caretaker):负责保存备忘录,但不检查或修改备忘录的内容。

二、C++ 实现示例:文本编辑器撤销功能

以下是一个简单的文本编辑器示例,演示如何使用备忘录模式实现撤销功能:

#include <iostream>
#include <string>
#include <memory>
#include <vector>// 前向声明
class Memento;// 原发器:文本编辑器
class TextEditor {
private:std::string content;public:void setContent(const std::string& text) {content = text;std::cout << "Current content: " << content << std::endl;}std::string getContent() const {return content;}// 创建备忘录std::shared_ptr<Memento> createMemento() const;// 从备忘录恢复void restoreFromMemento(std::shared_ptr<Memento> memento);
};// 备忘录
class Memento {
private:std::string savedContent;public:Memento(const std::string& content) : savedContent(content) {}// 仅供原发器访问的内部状态friend class TextEditor;
};// 实现原发器的方法
std::shared_ptr<Memento> TextEditor::createMemento() const {return std::make_shared<Memento>(content);
}void TextEditor::restoreFromMemento(std::shared_ptr<Memento> memento) {content = memento->savedContent;std::cout << "Restored content: " << content << std::endl;
}// 管理者:历史记录
class History {
private:std::vector<std::shared_ptr<Memento>> mementos;public:void saveState(std::shared_ptr<Memento> memento) {mementos.push_back(memento);std::cout << "State saved. History size: " << mementos.size() <<
http://www.dtcms.com/wzjs/595038.html

相关文章:

  • 简约大气网站首页wordpress使用vue
  • 事业单位门户网站建设的建议公司做的网站过期了
  • 网站全屏大图代码dz做网站js不起作用
  • 小城镇建设网站成都网络公司服务内容
  • 做网站还需要买空间吗搞软件开发的一般学什么专业
  • 网站开发合同官司网站设计素材网站
  • 长沙市建站注册网站域名
  • [ 1500元做网站_验收满意再付款! 东莞常平天气预报
  • 界面十分好看的网站郑州seo联系搜点网络效果好
  • windows7怎么做网站服务器承德做网站设计的
  • 苏州相城做网站的聊城网站建设企业
  • html网站建设代码网站推广的方法枫子
  • 海淘手表网站wordpress生成海报分享
  • 嘉兴论坛网站建设淘宝网站可信度状况及建设策略
  • 参考网是正规网站吗黄金行情软件下载
  • 关于做好学院网站建设的要求网站与客户端的区别
  • 淘宝客导购网站 丢单无锡做网站要多少钱
  • 淘客返利网站怎么做红色系 网站
  • 西安搬家公司电话号码大全seo3
  • 做网站推广员必备的条件WordPress 分类目录 加斜杠
  • 怎样做网站seo信阳市网站建设
  • 建设网站具体的步骤长沙网页制作开发公司
  • 网站建设平台流程苏州高新区建设局网站管网
  • 企业网站ui设计莱芜金点子广告电子版2024
  • 网站检测报告哪里做制作网站能挣钱
  • 在家做网站设计打开上次浏览的网站
  • 六安网站建设招商招聘网站是做什麼的
  • 公司在网站做广告怎么做分录测字算命网站开发
  • wordpress需要账号班级优化大师官网登录
  • 网站特效模板下载制作网站的过程细节