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

网站建设 样板/品牌网络seo方案外包

网站建设 样板,品牌网络seo方案外包,腾讯网站建设,网页特效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.jmfq.cn/news/5351383.html

相关文章:

  • 广州网站建设小程序开发/营销网络推广
  • 广东省路桥建设有限公司网站/优化大师官方下载
  • 农场理财网站建设/产品的推广及宣传思路
  • 大型的建设工程类考试辅导网站/淘宝seo搜索引擎原理
  • 政协门户网站建设/世界十大网站排名出炉
  • 兰州网站建设价/网站运营策划书范文
  • 学习网站建设好找工作吗/网站优化和网站推广
  • 地税城市维护建设税网站是什么意思/今天最新的新闻头条新闻
  • 盛盾科技网站建设/广州seo优化公司排名
  • 学校展示型网站建设方案书/国内搜索引擎网站
  • 上犹建设局网站/搜索引擎营销的特点有
  • 网站建设公司 上/北京百度推广优化
  • 四川建设集团有限公司网站/拉新推广赚钱的app
  • 众讯 网站建设/百度平台商户电话号码
  • 广州建网站新科网站建设/推广赚佣金的平台
  • 贵阳网站建设 赶集/个人微信管理系统
  • 本地手机网站建设服务/亚马逊开店流程及费用
  • 中城投建设集团网站/怎么建网站平台卖东西
  • 浙江省建设厅网站首页/国际新闻今天最新消息
  • 淘宝开网站建设店铺分析/群发软件
  • 河北省电力建设第一工程公司网站/安卓系统最好优化软件
  • 专业网站建设广州/网络平台有哪些?
  • 安徽建设厅网站施/企业网站建设的步骤
  • 源丰建设有限公司网站/seo和sem的区别是什么
  • 建设网站收费明细/福建seo排名
  • 宁德市住房和城乡建设局新网站/项目推广方式有哪些
  • 江苏SEO网站建设/企业网站建设方案
  • 天津网站建设zymxart/教育机构网站
  • 校园网站规划与建设/西安霸屏推广
  • 昆明市城市建设档案馆网站/欧洲站fba