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

以下哪个不是网站开发工具重要新闻

以下哪个不是网站开发工具,重要新闻,免费的企业黄页网站,9377手游平台1、备忘录模式的提出 在软件功能开发过程中,某些对象的状态在转换过程中,由于业务场景需要,要求对象能够回溯到对象之前某个点的状态。如果使用一些共有接口来让其他对象得到对象的状态,便会暴露对象的实现细节。备忘录模式是在不…

1、备忘录模式的提出

在软件功能开发过程中,某些对象的状态在转换过程中,由于业务场景需要,要求对象能够回溯到对象之前某个点的状态。如果使用一些共有接口来让其他对象得到对象的状态,便会暴露对象的实现细节。备忘录模式是在不破坏对象封装性的前提下,增加一个备忘录类,用于保存捕获对象的内部状态。当该对象需要回溯到之前状态时,只需调用备忘录接口获取之前的状态,并设置状态。

2、需求描述

有一个设备信息,该设备的状态有打开设备、打开app1、app2等操作。设计一个可以回溯设备状态信息的功能代码。

3、代码实现

(1)UML图如下:

(2)代码实现如下:

#include <iostream>
#include <string>class Memento
{
private:std::string m_strState;
public:Memento(std::string state):m_strState(state){};std::string getState()const{return m_strState;}
};class DevInfo
{
private:std::string m_strState;public:void setState(const std::string& state){m_strState = state;}std::string getState()const{return m_strState;}Memento* createMemento(){return new Memento(m_strState);}void restoreMemento(Memento* memento){m_strState = memento->getState();}
};class Client
{
private:DevInfo* m_devInfo{nullptr};Memento* m_memento{nullptr};public:Client(){m_devInfo = new DevInfo();}~Client(){std::cout << "~Client"<<std::endl;delete m_devInfo;m_devInfo = nullptr;delete m_memento;m_memento = nullptr;}void setDevState(std::string state){m_devInfo->setState(state);std::cout << "setDevState: "<< m_devInfo->getState() << std::endl;}void saveDevState(){m_memento = m_devInfo->createMemento();std::cout << "saveDevState "<<  std::endl;}void restoreDevState(){m_devInfo->restoreMemento(m_memento);std::cout << "restoreDevState: "<< m_devInfo->getState() << std::endl;}
};int main()
{Client obj;obj.setDevState("Open Dev");obj.setDevState("Open app 1");obj.setDevState("Open app 2");obj.saveDevState();obj.setDevState("Open app 3");obj.restoreDevState();return 0;
}

 程序运行结果如下:

 

 

 

http://www.yayakq.cn/news/269268/

相关文章:

  • 号店网站建设公司上海营销型网站建设团队
  • 简阳建设网站公司九江 网站建设
  • 网站建设需求模版东营网站搭建
  • 网站服务器选购知名企业网站搭建
  • php做网站毕设答辩问什么站长之家seo信息
  • 苏州网站优化哪家好qq群推广引流
  • 旅游网站用dw怎么做最好的企业网站源码
  • 地方生活门户网站建设方案wordpress 礼物说模板
  • 安全的赣州网站建设如何做网络营销推广服务机构
  • 电商网站后台怎么做企业邮箱登录界面
  • 哪个网站可以领单做效果图全国定制网站服务器云主机
  • 做网站和维护网站广州网站建设模板制作
  • 网站高质量链群怎么做移动端网站如何做导出功能吗
  • 专业商城网站建设报价珠海高端网站设计
  • 门源县住房和城乡建设局网站拼多多网站建设的目的
  • 网站建设哪家技术好做dhl底单的网站是 什么
  • xp系统做网站服务器吗全球商业网
  • 天河区网站公司龙岗网站建设培训
  • php怎么用来做网站网站开发新手什么软件好
  • 网站建设注册小程序网站建设创意文案
  • 媒体村网站建设seo关键词排名优化工具
  • 医疗网站建设 中企动力400免费服务电话申请
  • 做印刷的网站有哪些大型企业网站建设
  • 网站换服务器百度不收录河北健康码app官网下载
  • 绵阳低价网站建设p2p网站建设费用
  • 那个网站可以做全景图wordpress底部版权信息
  • 关闭网站弹窗代码出色的网站
  • 企业网站的作用和目的专业制作网站图片
  • 什么网站可以找人做系统整合网络营销哪家好
  • 上海做网站培训班商城网站验收标准