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

儿童 网站 设计欣赏专注做动漫的门户网站

儿童 网站 设计欣赏,专注做动漫的门户网站,wordpress怎么加地图,祥云平台做的网站效果好文章目录 一.什么是备忘录设计模式#xff1f;二.备忘录模式的特点三.备忘录模式的结构四.备忘录模式的优缺点五.备忘录模式的 C 实现六.备忘录模式的 Java 实现七.总结 类图#xff1a; 备忘录设计模式类图 一.什么是备忘录设计模式#xff1f; 备忘录设计模式#xff08… 文章目录 一.什么是备忘录设计模式二.备忘录模式的特点三.备忘录模式的结构四.备忘录模式的优缺点五.备忘录模式的 C 实现六.备忘录模式的 Java 实现七.总结 类图 备忘录设计模式类图 一.什么是备忘录设计模式 备忘录设计模式Memento Pattern是一种行为型设计模式用于在不暴露对象实现细节的前提下捕获并保存对象在某一时刻的状态以便之后可以将其恢复到之前的状态。该模式的主要目标是保存对象的状态并在需要时进行状态回滚。 二.备忘录模式的特点 封装状态将对象的内部状态存储在备忘录中并且不让外部访问这些状态细节。提供撤销功能支持撤销操作特别适合需要恢复到之前状态的场景。降低耦合发起者Originator与管理备忘录的角色Caretaker解耦。 三.备忘录模式的结构 Originator发起者负责创建备忘录并恢复自身状态。Memento备忘录存储发起者的状态。Caretaker管理者负责保存和恢复备忘录。 四.备忘录模式的优缺点 优点: 提供了一种状态恢复机制。发起者的内部状态对外部透明。 缺点: 可能需要大量的存储空间尤其是需要存储大量状态时。如果对象状态过于复杂可能会增加备忘录的维护成本。 五.备忘录模式的 C 实现 #include iostream #include string #include vector using namespace std;// 备忘录类 class Memento { private:string state; public:Memento(const string s) : state(s) {}string GetState() const { return state; } };// 发起者类 class Originator { private:string state; public:void SetState(const string s) {state s;cout Set state to: state endl;}string GetState() const { return state; }Memento* CreateMemento() const {return new Memento(state);}void SetMemento(Memento* memento) {state memento-GetState();cout Restored state to: state endl;} };// 管理者类 class Caretaker { private:vectorMemento* mementos; public:void SaveMemento(Memento* memento) {mementos.push_back(memento);}Memento* GetMemento(int index) const {if (index 0 index mementos.size()) {return mementos[index];}return nullptr;}~Caretaker() {for (Memento* m : mementos) {delete m;}} };int main() {Originator originator;Caretaker caretaker;originator.SetState(State1);caretaker.SaveMemento(originator.CreateMemento());originator.SetState(State2);caretaker.SaveMemento(originator.CreateMemento());originator.SetState(State3);// 恢复到之前的状态originator.SetMemento(caretaker.GetMemento(0));originator.SetMemento(caretaker.GetMemento(1));return 0; }六.备忘录模式的 Java 实现 import java.util.ArrayList; import java.util.List;// 备忘录类 class Memento {private String state;public Memento(String state) {this.state state;}public String getState() {return state;} }// 发起者类 class Originator {private String state;public void setState(String state) {this.state state;System.out.println(Set state to: state);}public String getState() {return state;}public Memento createMemento() {return new Memento(state);}public void setMemento(Memento memento) {this.state memento.getState();System.out.println(Restored state to: state);} }// 管理者类 class Caretaker {private ListMemento mementos new ArrayList();public void saveMemento(Memento memento) {mementos.add(memento);}public Memento getMemento(int index) {if (index 0 index mementos.size()) {return mementos.get(index);}return null;} }public class MementoPatternDemo {public static void main(String[] args) {Originator originator new Originator();Caretaker caretaker new Caretaker();originator.setState(State1);caretaker.saveMemento(originator.createMemento());originator.setState(State2);caretaker.saveMemento(originator.createMemento());originator.setState(State3);// 恢复到之前的状态originator.setMemento(caretaker.getMemento(0));originator.setMemento(caretaker.getMemento(1));} }七.总结 备忘录设计模式适用于需要保存对象状态并提供恢复功能的场景比如文本编辑器、游戏存档等。通过将状态封装到备忘录中备忘录模式实现了状态的透明保存与恢复从而提升了系统的可维护性和灵活性。 应用场景: 文本编辑器保存编辑状态支持撤销和恢复操作。游戏存档保存玩家的游戏进度并允许玩家恢复到之前的状态。事务管理数据库事务可以利用备忘录模式保存数据状态实现事务回滚。
http://www.dnsts.com.cn/news/153948.html

相关文章:

  • 教育类的网站方案作文生成器网站
  • wordpress关闭新闻活动模块百度 移动网站优化
  • 大连网站建设资讯定制戒指
  • 大兴安岭做网站如何自己创建网址
  • 深圳网站推广海门网站建设培训
  • 海南网新闻最新消息今天成都网站优化公司哪家好
  • 成都网站建设制作服务阿里云做网站用哪个镜像
  • 苏州做网站建设公司黄冈网站建设与推广哪家好
  • 网站设计开发软件有哪些金蝶财务软件官网报价
  • 做社区生意的网站泰安营销网站建设公司
  • 建筑人才网 中高端招聘网站16素材网
  • 清溪网站仿做dux大前端WordPress
  • 网站程序流程图湘潭天元建设集团有限公司
  • 建设网站要不要钱百度贴吧自己做的网站注册用户无法收到激活邮箱的邮件
  • 网站开发语言wap是什么请私人做网站风险
  • 外贸网站排行榜前十名wordpress绑定域名收费
  • 苏州免费模板建站广西住建厅八大员报名网站
  • 保险公司网站开发设计官网页面多少钱
  • 手机医疗网站网店怎么推广和宣传
  • 前端做网站难吗无极网站维护
  • 苏州淘宝网站建设培训员工微信管理系统
  • 单网页网站 企业手机网页如何制作
  • 推广网官方推广网站淘宝网站的建设情况
  • 音乐自助建站移动网站建设的前期规划内容
  • 宁波网站建设就业方向工作细胞中文版免费完整版第一季
  • 网站建设介绍会发言稿网站开发编码选择一般是
  • 网站ftp文件福州网站大全
  • 自己网站给别人网站做外链护肤品网站建设前的行业分析
  • 南通手机建站模板热门关键词排名查询
  • 个人网站子域名设置wordpress子目录新建页面无法找到