当前位置: 首页 > 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/807674.html

相关文章:

  • 深圳网站建设运营公司小区推广最有效的方式
  • 做毕业设计免费网站建设淘宝做关键词的网站
  • 有什么软件做短视频网站好wordpress价格计算
  • 中国最大的手表网站中国纵横168网站建设系统
  • 学网站建设 去那里php wordpress开源
  • 攀枝花建设工程质量监督站投诉网站网站开发 问题解决
  • 电子商务网站建设不足网站建设的实施方式
  • 地板网站模板做我韩国连续剧网站
  • 网站建设有哪些项目wordpress可视化插件下载
  • 怎么设置公司网站全国软件公司排名
  • 欧美网站模板 psd小程序网站建站模板
  • 深圳横岗做网站的wordpress伪静态linux
  • 网站开发项目管理步骤seo关键词排名优化怎样收费
  • 关键词挖掘机爱站网食品品牌策划方案
  • 网站集群系统建设镇江市远航网络科技有限公司
  • 扁平wordpress主题福建seo外包
  • 做百度推广送网站烟台网站建设费用
  • 个人网站号备案吗WordPress批量用户
  • 上海网站建设定制公司百度广告投放价格
  • 英文自助建站网络营销是什么样的
  • 昆明网站建设报价专业订制网站制作
  • 中国容桂品牌网站建设wordpress 移动版
  • 佛山做网站制作公司dede 网站目录
  • 网站 手机版网站开发合同国外网站域名
  • 地方志网站建设个性定制平台
  • 网站的盈利模式郑州网站建设十大公司
  • 58网站开发要多少钱电影网站盗链怎么做
  • 泰安做网站公司哪家比较好淘宝上 网站建设
  • 江苏省工程建设标准定额网站深圳搭建网站公司
  • 网站怎样做友情链接网站建设的 几点