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

辽阳网站seo松江建设新城有限公司网站

辽阳网站seo,松江建设新城有限公司网站,做网站备案与不备案的区别,昆山广告公司定义 状态模式#xff08;State Pattern#xff09;是一种行为设计模式#xff0c;它允许对象在其内部状态改变时改变其行为。这意味着#xff0c;当对象的状态发生变化时#xff0c;它的行为也会发生变化。状态模式特别适用于行为依赖于其状态的对象#xff0c;而且当这…定义 状态模式State Pattern是一种行为设计模式它允许对象在其内部状态改变时改变其行为。这意味着当对象的状态发生变化时它的行为也会发生变化。状态模式特别适用于行为依赖于其状态的对象而且当这些状态可以独立于对象的其他部分进行变化时。 在状态模式中我们定义一个Context类和一个State接口以及多个实现了State接口的ConcreteState类。Context类持有一个State对象的引用并委托给这个State对象来处理行为。当Context的状态改变时它会切换到新的State对象。 示例 下面是一个C的状态模式示例其中有一个Context类StateContext一个State接口State以及两个实现了State接口的ConcreteState类StateA和StateB #include iostream // State 接口 class State { public: virtual void handle(StateContext* context) 0; }; // ConcreteStateA class StateA : public State { public: void handle(StateContext* context) override { std::cout 处理 A 状态的行为 std::endl; context-setState(new StateB()); // 切换到下一个状态 } }; // ConcreteStateB class StateB : public State { public: void handle(StateContext* context) override { std::cout 处理 B 状态的行为 std::endl; // 这里可以根据需要决定是否切换到其他状态 } }; // StateContext class StateContext { private: State* state; public: StateContext() : state(new StateA()) {} void setState(State* newState) { delete state; // 释放旧状态 state newState; } void request() { state-handle(this); } }; int main() { StateContext context; context.request(); // 处理 A 状态的行为然后切换到 B 状态 context.request(); // 处理 B 状态的行为 return 0; } 解释 State 是一个接口定义了所有状态类应该具有的行为。在这个例子中它只有一个handle方法用于处理状态的行为。StateA 和 StateB 是实现了 State 接口的具体状态类。它们分别定义了在不同状态下应该如何处理行为。在 StateA 的 handle 方法中它首先处理 A 状态的行为然后切换到 StateB。在 StateB 的 handle 方法中它只处理 B 状态的行为。StateContext 是一个上下文类它持有一个 State 对象的引用并有一个 request 方法用于触发状态的行为。在 request 方法中它委托给当前状态对象来处理行为。此外StateContext 还有一个 setState 方法用于设置新的状态对象。在 main 函数中我们创建了一个 StateContext 对象并调用了两次 request 方法。第一次调用时由于初始状态是 StateA所以会处理 A 状态的行为并切换到 StateB。第二次调用时当前状态是 StateB所以只会处理 B 状态的行为。 这个示例展示了如何使用状态模式来根据对象的状态改变其行为。在实际应用中状态模式可以用于实现各种需要根据状态变化来改变行为的场景例如用户界面的状态变化、网络请求的状态变化等。
http://www.hkea.cn/news/14378257/

相关文章:

  • 宁波市网站集约化建设通知合浦住房和城乡规划建设局网站
  • 长春生物新冠疫苗苏州seo关键词优化软件
  • 清远做网站哪家好上海网站制作科技公司
  • 大丰网站开发ftp替换网站图片
  • 做网站是找什么人做外贸网站效果
  • 金塔网站建设出售app软件的平台
  • 网站的结构怎么做广告设计图片赏析
  • 建设营销型网站公司网上注册公司流程和费用标准
  • 辽阳网站设计杭州做网站公司排名
  • 大兴安岭网站制作太原站建设有多长时间
  • 行业网站系统连江县建设局网站
  • 南宁网站规划与网页设计宁晋网站建设设计
  • 站长工具关键词挖掘茶文化网站建设内容
  • 东莞建设局网站公司宣传策划方案
  • 买东西网站有哪些福建省住建厅建设网站
  • 网站建设宽度一般都是多少中建八局一公司官网
  • wordpress植物网站西海岸城市建设局网站
  • 南阳专业网站设计公司网站建设学费多少钱
  • asp技术做网站友情链接有哪些作用
  • 网站建设策划案模版页面设计布局
  • 2017辽宁建设厅查询网站wordpress放在二级目录下
  • 网站跟信息推广有哪些信息化建设品牌营销公司
  • 厦门网站建设招标263企业邮箱怎么样
  • 2015年做啥网站致富我找别人做的网站现在不管了怎么办
  • 自己做网站跟域名怎样做网站安全建设的重要性
  • 网站后台示演常州网站建设方案优化
  • 网站制作的大公司郑州模板网站设计哪家便宜
  • cdr做图时怎么找到网站的电子商务网站推广的意义
  • 全部免费网站软件湖南网站建设公司 搜搜磐石网络
  • 深圳网站关键词推广网站 建设文档