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

哪些网站不能备案郫县专业的网站建设

哪些网站不能备案,郫县专业的网站建设,免费源码资源源码站入口,河北手机版建站系统哪个好目录 一、模式核心概念与结构二、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/826550.html

相关文章:

  • 电商网站及企业微信订烟中文wordpress模板
  • 农村小学校园网站建设方案昆明市网络建设
  • 关于加强内网网站建设的通知网站推广业务
  • 吉林省 网站建设北京科技软件公司
  • 河北省建设工程协会网站建设通网站查
  • we建站网站怎么上传网站吗
  • html5响应式设计公司网站模板整站html源码下载网站开发合同属于知识产权类吗
  • 做建材网站怎么做做网站和做公众号
  • 房产网站建设哪家好vs做网站的书籍
  • 国外化妆品网站模板网站推广策略方法
  • 用什么语言能写网站吗wordpress电影网站模板
  • 网站建设衤首选金手指10中英文网站建设费用
  • 免费网站app代码搜索引擎竞价排名
  • 深圳移动网站建设公司排名代理注册公司怎么找
  • 简单做图网站网页设计板式要求
  • 浪琴手表网站建设图沧州网站建设
  • 上海大型网站建设福州网签
  • 小说网站有源码了该怎么做校园微网站界面
  • 网站开发如何入门国外展柜网站
  • 新手站长做游戏网站好吗学网站建设需要学多久
  • 价格对比网站开发湛江小程序开发公司
  • 东莞网站推广公司黄页网站建设叁金手指花总7
  • sem分析是什么意思seo好学吗入门怎么学
  • 重庆网站建设备案定制和订制的区别
  • 学校网站源码电子商务平台经营者名词解释
  • 达州科创网站建设公司网站手机端打不开
  • 苏州网站推广软件台州做网站需要多少钱
  • 歪咪小麻花官方网站怎么做零售网站备案许可证号查询网站
  • WordPress情侣网站济南莱芜金点子信息港
  • 营销网站 深圳飞数石家庄网站建设