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

那些网站可以做团购如何在建设银行网站查验回单

那些网站可以做团购,如何在建设银行网站查验回单,网站建设的要点是什么,定制衣柜十大品牌排名1.意图 备忘录模式是一种行为型设计模式,允许在不破坏封装的特性前提,获取并保存一个对象的内部状态,后续需要时恢复该状态。核心是将对象的状态存储在一个独立的备忘录对象中,并在需要时恢复。 2.模式类型 行为型对象设计模式 …

1.意图

        备忘录模式是一种行为型设计模式,允许在不破坏封装的特性前提,获取并保存一个对象的内部状态,后续需要时恢复该状态。核心是将对象的状态存储在一个独立的备忘录对象中,并在需要时恢复。

2.模式类型

       行为型对象设计模式

3.UML图

上述类的表示:

        a.Originator 负责创建 Memento 并恢复状态。

        b.Caretaker 存储多个 Memento,但不修改其内容。

        c.Memento 仅提供 getState() 方法,确保封装性。

4.优缺点

        优点:

        提供了恢复状态机制,且保持对象的封装性,支持撤销操作。

        缺点:

        耗费内存,且增加了代码的复杂度,频繁的操作性能下降。

5.示例代码

#include <iostream>
#include <string>
#include <vector>
#include <sstream>// 备忘录类(存储 Originator 的状态)
class Memento {
private:std::string state;  // 保存的状态public:Memento(const std::string& state) : state(state) {}std::string getState() const { return state; }
};// 原发器类(需要保存状态的对象)
class Originator {
private:std::string state;public:void setState(const std::string& newState) {std::cout << "Originator: Change state to " << newState << std::endl;state = newState;}// 创建备忘录(保存当前状态)Memento save() {return Memento(state);}// 恢复备忘录(恢复之前的状态)void restore(const Memento& memento) {state = memento.getState();std::cout << "Originator: Restored state to " << state << std::endl;}void printCurrentState(){std::cout << "Originator: current state is  " << state << std::endl;}
};// 管理者类(存储备忘录)
class Caretaker {
private:std::vector<Memento> mementos;public:void addMemento(const Memento& memento) {mementos.push_back(memento); // 每个状态都对应一个Memento类}Memento getMemento(int index) {return mementos.at(index);}
};// 客户端代码
int main() {Originator originator;Caretaker caretaker;for(auto i = 0;i < 5;++i){// 设置状态并保存std::stringstream  ss;ss << i;std::string strStat = "State #" + ss.str();originator.setState(strStat);caretaker.addMemento(originator.save());}originator.printCurrentState();// 恢复到第一个状态originator.restore(caretaker.getMemento(3));return 0;
}输出:
root@ubuntu:~/mySpace/design_m_c++/disign_modle/Beiwanglu# ./a.out 
Originator: Change state to State #0
Originator: Change state to State #1
Originator: Change state to State #2
Originator: Change state to State #3
Originator: Change state to State #4
Originator: current state is  State #4
Originator: Restored state to State #3

综上即为备忘录模式特点。 


文章转载自:

http://QHVsWMRY.kwrhq.cn
http://EiMmZ7bq.kwrhq.cn
http://mG6eHHjj.kwrhq.cn
http://xwZyPs0T.kwrhq.cn
http://PYarS7z6.kwrhq.cn
http://ZR0pBVC4.kwrhq.cn
http://PG2a04E0.kwrhq.cn
http://xN5QxRA3.kwrhq.cn
http://lD7scaQe.kwrhq.cn
http://IdojTvo8.kwrhq.cn
http://SEAJpv3W.kwrhq.cn
http://xygosla0.kwrhq.cn
http://RLPbZi7X.kwrhq.cn
http://lJgp2Dzr.kwrhq.cn
http://aQgWM5fP.kwrhq.cn
http://h72MZV4N.kwrhq.cn
http://RkcaUEcp.kwrhq.cn
http://ANIMhxlF.kwrhq.cn
http://52JYFsMd.kwrhq.cn
http://ysPjJBnd.kwrhq.cn
http://0QxHPUAR.kwrhq.cn
http://ED0Z91Z4.kwrhq.cn
http://pLROYFqe.kwrhq.cn
http://y37A7IX8.kwrhq.cn
http://Q8pDLUv8.kwrhq.cn
http://Z22uMYvg.kwrhq.cn
http://VrNVoMUd.kwrhq.cn
http://S7KDa2o2.kwrhq.cn
http://wSpksORN.kwrhq.cn
http://ndNP5f8d.kwrhq.cn
http://www.dtcms.com/wzjs/723782.html

相关文章:

  • 酒庄企业网站衡水网站建设03181688
  • 企业官网怎么和别的网站做链接wordpress主题破解
  • 什么网站可以做汽车国际贸易tp框架做商城网站怎么用缓存
  • 做瓷砖在什么网站上找素材好如何让百度新闻收录网站文章
  • 学网站开发应该学什么软件广东网站设计推荐
  • 福州建设银行官网招聘网站网站规划与建设 第2版ppt
  • 网站开发怎么进行数据库连接推广关键词优化
  • 路桥区高质量营销型网站建设google站长工具
  • 影视传媒广告公司网站模板博客网站登录入口
  • 网站电子签名怎么做中国企业资讯网
  • 个人网站推广 公司用织梦做企业网站
  • 接入服务商网站备案管理系统技术规范要求如何开网店详细步骤
  • 自己搭建的网站可以收费吗机械加工网入网
  • 做网店在素材网站找的图侵权吗企业网站建设东莞
  • 网站屏幕自适应代码建设邮费自己的网站 要不要购买服务器的
  • 福州市网站网站如何不被百度搜到
  • dedecms企业网站建设部注册网站
  • 青岛手机网站制作18款未成年禁用软件app
  • 稳定的常州网站推广四川省建设网招标公告
  • 石家庄行业网站网站建设不完整(网站内容太少)
  • 购物网站 系统设计中国建设银行网站运营模式
  • 网站建设学校常用的网站有哪些
  • 电子商务网站建设实训wordpress 插件管理
  • 想要一个网站哪家云服务器性价比高
  • 泉山微网站开发北京王府井大楼
  • 中国建设银行建银购网站赞赏分享wordpress代码
  • .net 网站模板下载地址做网站一定需要服务器吗
  • 外国语学院英文网站建设电子商务网站建设方
  • 婚礼纪网站怎么做请帖无锡工业设计公司
  • 网站基础设施建设土木英才网招聘信息