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

如何在工商局网站上做网登一人可做的加盟店

如何在工商局网站上做网登,一人可做的加盟店,wordpress最能玩,建设一个网站的硬件要求概念 状态模式是一种行为模式,用于在内部状态改变的时候改变其行为。它的核心思想就是允许一个对象在其内部状态改变的时候改变它的行为。状态模式通过将对象的状态封装成独立的类,并将其行为委托给当前的状态对象,从而使得对象行为随着状态…

概念

状态模式是一种行为模式,用于在内部状态改变的时候改变其行为。它的核心思想就是允许一个对象在其内部状态改变的时候改变它的行为。状态模式通过将对象的状态封装成独立的类,并将其行为委托给当前的状态对象,从而使得对象行为随着状态的改变而改变,使其看上去就像是类的一个属性一样。

适用场景

1、如果对象需要根据不同的状态进行不同的操作的,且状态较多并且代码需要复用的时,需要使用到状态模式。

2、如果某个类需要根据成员的状态改变自身的行为且需要大量的条件判断语句的时,可以使用该模式。

3、当相似的状态和基于条件的状态机转换中存在许多重复代码的时候,可以使用状态模式。

创建方式

1、使用状态模式的时候需要首先创建一个状态类、上下文类。

2、创建一个状态类接口对象,在这个接口对象中需要创建一个上下文指针对象,并创建一个设置上下文的接口和所有的状态操作函数。

3、创建实际的状态类对象,在实际的状态类对象实现具体的操作函数方法,在此方法中实现状态的切换。

4、实现上下文类,在上下文状态类中实现状态类的指针对象引用,并实现一个切换函数在此函数中将当前状态设置给当前上下文。然后实现上下文的操作函数。在上下文的操作函数中通过状态引用对象调用状态的操作函数。

5、在客户端的使用的时候,首先创建一个初始转台对象,之后创建一个上下文对象,并将状态对象设置个上下文,之后通过调用上下文中的操作函数进行状态切换和状态的操作函数。

类关系图

在这里插入图片描述

示例代码

#include "ZhuangTaiMoShi.h"
int main()
{std::cout << "欢迎东哥来到设计模式的世界!\n";//创建状态StateBase* state1 = new State1();StateBase* state2 = new State2();//创建上下文对戏Context* context = new Context();context->switchState(state1);context->deputeHandle1();context->deputeHandle2();context->switchState(state2);context->deputeHandle1();context->deputeHandle2();
}
#pragma once
#include <string>
#include <iostream>using namespace std;
class Context;//状态接口类
class StateBase
{
public:StateBase() {}~StateBase() {}virtual void handle1() {}virtual void handle2() {}
};//具体状态接口类
class State1 : public StateBase {
public:State1() {}~State1() {}void handle1() {cout << "状态1操作函数1:第一队右侧迂回" << endl;}void handle2() {cout << "状态1操作函数2:第而队左侧突击" << endl;}
};class State2 : public StateBase {
public:State2() {}~State2() {}void handle1() {cout << "状态2操作函数1:先锋队冲锋" << endl;}void handle2() {cout << "状态2操作函数2:狙击手掩护" << endl;}
};//上下文对象类
class Context {
public:Context() {}~Context() {}void switchState(StateBase* state) {m_state = state;}void deputeHandle1() {m_state->handle1();}void deputeHandle2() {m_state->handle2();}
private:StateBase* m_state = nullptr;
};
欢迎东哥来到设计模式的世界!
状态1操作函数1:第一队右侧迂回
状态1操作函数2:第而队左侧突击
状态2操作函数1:先锋队冲锋
状态2操作函数2:狙击手掩护
http://www.dtcms.com/wzjs/576044.html

相关文章:

  • 国外免费网站域名服务器查询软件网站开发的app
  • 网站的在线支付怎么做官方网站建设建议
  • 网站批量添加内容六年级毕业留言册页面设计模板
  • 网站代运营合同模板设计一站式服务
  • 什么网站做唱歌主播wordpress dooplay
  • 建设公司网站需要多少天大竹县国示建设专题网站
  • 线上网站制作网站开发公司 杭州
  • 罗湖网站建设宁波网站建设定制开发
  • 广州做响应式网站阳江房产网
  • 石家庄做网站的公司旅游app推广营销策略
  • 建设公司企业网站领优惠卷的网站怎么做
  • 长沙哪里有网站制作会网站开发想找兼职
  • 网站被黑 禁止js跳转湖南长沙理工大学
  • 家里做网站买什么服务器好wordpress那个版本
  • 有教做点心的网站吗田贝网站建设
  • 云服务器搭建个人网站wordpress v5.0
  • 网站备案 暂住证公司网页制作模板图片
  • 泉州大型网站设计公司有强大seo功能的wordpress模板
  • 比较有设计感的网站佛山 做网站公司
  • 网站建设中忽略的字体违法行为网站设计排名网站
  • vs中做网站设置背景图片怎么把网站制作成安卓
  • 网站开发系统的可行性研究报告苏州手机网站建设多少钱
  • 对网站建设的具体想法简单的网站制作代码
  • 天津 网站 备案国内最新新闻资讯
  • 意大利做包招工的网站国内网页设计公司前十名
  • 青海工程建设云网站深圳高端画册设计
  • 网站建设实训心得phpwordpress用户名长度
  • 网站建设h5 招聘苏州住房建设局网站
  • 做再生料的网站高德地图切换国外
  • 深圳市顺建建设工程有限公司网站济南品质网站建设哪家好