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

无线网站制作有哪些做网站好的公司

无线网站制作,有哪些做网站好的公司,青岛网站设计系统,无极小说网文章目录 状态模式代码实现代码解释小结 状态模式 状态模式#xff08;State Pattern#xff09;是一种行为设计模式#xff0c;它允许对象在内部状态改变时改变它的行为。在嵌入式系统中#xff0c;状态模式尤其适用于那些根据外部事件或内部条件频繁改变状态并且每种状态… 文章目录 状态模式代码实现代码解释小结 状态模式 状态模式State Pattern是一种行为设计模式它允许对象在内部状态改变时改变它的行为。在嵌入式系统中状态模式尤其适用于那些根据外部事件或内部条件频繁改变状态并且每种状态下行为不同的场景例如设备的不同工作模式切换、任务调度、传感器状态管理、通信协议状态机等。 代码实现 #include stdio.h// 定义ACTION_PREPARE, ACTION_RUN, ACTION_END为合适的宏或整数值 #define ACTION_PREPARE 1 #define ACTION_RUN 2 #define ACTION_END 3// 首先声明 WashingMachine 结构体 typedef struct WashingMachineTag WashingMachine;// 定义状态枚举 typedef enum {STATE_STANDBY,STATE_PREPARING,STATE_RUNNING,STATE_FINISHED } WashingMachineState;// 定义指向处理函数的指针类型 typedef void (*StateMachineAction)(WashingMachine *);// 洗衣机结构体 struct WashingMachineTag {WashingMachineState state;StateMachineAction on_prepare;StateMachineAction on_run;StateMachineAction on_end; } ;// 待机状态下准备 static void standby_prepare(WashingMachine *machine) {printf(Machine is preparing for washing.\n);machine-state STATE_PREPARING; }// 准备状态下运行 static void preparing_run(WashingMachine *machine) {printf(Machine has started running.\n);machine-state STATE_RUNNING; }// 运行状态下结束 static void running_end(WashingMachine *machine) {printf(Washing cycle completed.\n);machine-state STATE_FINISHED; }// 初始化洗衣机状态及其对应的处理函数 void init_washing_machine(WashingMachine *machine) {machine-state STATE_STANDBY;machine-on_prepare standby_prepare;machine-on_run preparing_run;machine-on_end running_end; }// 根据当前状态执行相应操作 void operate_washing_machine(WashingMachine *machine, int action) {switch (machine-state) {case STATE_STANDBY:if (action ACTION_PREPARE) {machine-on_prepare(machine);} else {printf(Invalid action in STANDBY state.\n);}break;case STATE_PREPARING:if (action ACTION_RUN) {machine-on_run(machine);} else {printf(Invalid action in PREPARING state.\n);}break;case STATE_RUNNING:if (action ACTION_END) {machine-on_end(machine);} else {printf(Invalid action in RUNNING state.\n);}break;case STATE_FINISHED:printf(Machine is already in FINISHED state.\n);break;default:printf(Unknown machine state.\n);break;} }int main() {WashingMachine machine;init_washing_machine(machine);// 根据实际需求调用操作函数operate_washing_machine(machine, ACTION_PREPARE);operate_washing_machine(machine, ACTION_RUN);operate_washing_machine(machine, ACTION_END);return 0; }代码解释 代码示例展示了如何使用状态模式来模拟一个具有待机、准备、运行和结束四种状态的洗衣机设备。总结要点如下 定义了WashingMachineState枚举类型用于表示洗衣机的不同状态待机、准备、运行和结束。 定义了一个指向函数的指针类型StateMachineAction该类型表示在不同状态下执行动作的函数指针。 创建了WashingMachine结构体其中包含当前状态字段和三个函数指针成员分别对应在不同状态下需要执行的动作。 定义了三个静态函数分别是standby_prepare、preparing_run和running_end这三个函数分别对应洗衣机从待机到准备、从准备到运行、从运行到结束状态的转换。 init_washing_machine函数用于初始化洗衣机对象设置初始状态和对应状态下的动作函数。 operate_washing_machine函数根据当前洗衣机的状态执行相应的动作。在本示例中动作的选择依赖于传入的action参数但是实际上可能根据状态机的规则自行定义。 定义了宏ACTION_PREPARE、ACTION_RUN和ACTION_END虽然在给出的代码片段中并未具体使用但在实际应用中这些宏或类似的常量可用于指示要执行的具体动作。 小结 本文通过状态模式分离了洗衣机状态的改变和对应状态下的行为使得状态之间的转换变得清晰且易于维护。当状态变化时只需调用相应状态下的动作函数即可完成状态的迁移和对应行为的执行。
http://www.hkea.cn/news/14404602/

相关文章:

  • 企业营销策划实现的途径上海市网站seo公司
  • 有哪些做的好看的网站吗做seo网站空间
  • 网站推广是什么杭州seo公司排名
  • p2p提供网站建设违法百度一下官方网
  • wordpress 栏目菜单做网站seo的步骤
  • 莱阳网站建设公司杭州网络营销公司
  • 网站建设和网站推广网站标题title
  • 做网站服装app网络销售推广平台
  • 苏州市吴中区建设局网站wordpress 文章 二维码
  • 网站正在建设中请稍后介绍自己的家乡遵义网站建设
  • 专业商城网站设计wordpress if
  • 网站建设交流平台seo系统培训哪家好
  • 四川省住房和城乡建设厅网站下载怎么在百度做广告
  • 青岛做网站建设深圳优化公司样高粱seo
  • 深圳市研发网站建设哪家好品牌网站建设案例
  • 上海网站备案核验河北专业做网站
  • php 网站调试wordpress 采集站
  • 网站排行大型门户网站建设定做
  • 如何让域名跳转网站百度优化 几个网站内容一样
  • 郑州淘宝网站建设阿图什网站
  • 厦门北京网站建设公司关于室内设计的网站有哪些
  • 新营销平台电商网站邢台网站建设服务
  • 企业销售网站seo搜索引擎优化视频
  • 做网站 万户中小企业网络设计论文
  • 网站设计验收青海城乡建设部网站首页
  • 做效果图兼职的网站有哪些信阳市住房建设局网站
  • 网站默认主页名推广策略英文
  • wordpress站点地址无法更改重庆建设施工安全信息网官网
  • 做众筹网站怎么赚钱吗为网站吸引流量的方法
  • 微信公众号 做不了微网站建筑设计有哪些专业