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

长岭网站优化公司双重预防机制信息化平台

长岭网站优化公司,双重预防机制信息化平台,wordpress 提高速度慢,房屋装修效果图制作状态模式案例解析:三态循环灯的实现 案例概述 本案例使用 状态模式(State Pattern) 实现了一个 三态循环灯 的功能。每点击一次按钮,灯的状态会按顺序切换(状态1 → 状态2 → 状态3 → 状态1...)&#xff…

状态模式案例解析:三态循环灯的实现

 案例概述

本案例使用 状态模式(State Pattern) 实现了一个 三态循环灯 的功能。每点击一次按钮,灯的状态会按顺序切换(状态1 → 状态2 → 状态3 → 状态1...),并在每次切换时弹出一个消息框显示当前状态。此外,还提供了 重置 功能,可以将灯的状态恢复到初始值。

Light类实现

public class Light
{public LightStateInterface Lightstate { get; set; } // 当前状态public Light(){Lightstate = new OnLight1(); // 初始状态为 OnLight1}public void Set(){Lightstate.btn_切换(this); // 调用当前状态的切换方法}public void reset(){Lightstate = new OnLight1(); // 重置为初始状态}
}

灯状态接口定义:

public interface LightStateInterface
{void btn_切换(Light mylight); // 切换状态的方法
}

OnLight1(状态1)

class OnLight1 : LightStateInterface
{public void btn_切换(Light mylight){System.Windows.Forms.MessageBox.Show("灯-1"); // 显示当前状态mylight.Lightstate = new OnLight2(); // 切换到状态2}
}

OnLight2(状态2)

class OnLight2 : LightStateInterface
{public void btn_切换(Light mylight){System.Windows.Forms.MessageBox.Show("灯-2"); // 显示当前状态mylight.Lightstate = new OnLight3(); // 切换到状态3}
}

OnLight3(状态3)

class OnLight3 : LightStateInterface
{public void btn_切换(Light mylight){System.Windows.Forms.MessageBox.Show("灯-3"); // 显示当前状态mylight.Lightstate = new OnLight1(); // 切换回状态1}
}

winform调用案例:

在 WinForm 界面上提供 切换 和 重置 按钮,代码:

    public partial class Form1 : Form{public Form1(){InitializeComponent();}Light light = new Light(); // 创建 Light 对象private void btn_切换灯_Click(object sender, EventArgs e){light.Set(); // 切换状态}private void btn_重置_Click(object sender, EventArgs e){light.reset(); // 重置状态}}

状态模式的核心思想

(1)状态模式的定义

状态模式是一种 行为型设计模式,允许对象在 内部状态改变时改变其行为,看起来像是修改了它的类。

(2)状态模式的优点

  • 符合开闭原则:新增状态时无需修改现有代码,只需新增类。

  • 消除复杂条件语句:避免 if-else 或 switch-case 判断状态。

  • 状态转换逻辑清晰:每个状态类负责自己的转换逻辑。

(3)适用场景

  • 对象的行为取决于它的状态,并且需要在运行时动态切换。

  • 代码中包含大量与状态相关的条件语句时,可以用状态模式优化。

 

http://www.dtcms.com/wzjs/534018.html

相关文章:

  • 上海建筑安全协会网站深圳建网站公司哪家好
  • 网站建设实训的意义阜城县网站建设
  • 乐陵网站制作公司做网站费用会计处理
  • unity网站后台怎么做怎么给网站做备份呢
  • 衡水网站建设公司哪家比较好优化电池充电是关闭还是打开好
  • 泰州哪里做网站南海区建设网站
  • 装修网站建设建了一个网站 如何找到放图片的文件夹
  • 微网站生成appui设计原理
  • 在线做ppt模板下载网站有哪些php网站开发试题
  • wordpress 整容模板小红书seo关键词优化多少钱
  • 台州做网站联系方式wordpress 数据还原
  • 地图网站制作东莞网站设地
  • 中文的网站做不成二维码专业品牌网站设计公司
  • 网站默认图片免费静态网站模板
  • 中英文双语网站建设wordpress 标签描述
  • 房产网站定制WordPress的目录大纲
  • 青岛同拓网站建设有限公司wordpress网站如何播放视频教程
  • 咸宁网站开发广告创意设计论文
  • 公装设计网站住房和城乡建设部网站主页
  • 哪个公司做网站推广最好免费网站建设视频教程
  • 手机怎么进入国外网站关键词调词平台费用
  • 建设银行海外招聘网站手机管理网站模板下载
  • 做网站专题模板密云重庆网站建设
  • 网站集约化建设力度经常开车的微信公众号
  • 网站优化我自己可以做吗wordpress筛选分类
  • 互联网网站建设公司组织架构wordpress源码解析
  • 北京做百度网站企业网站建设任务书
  • 公司内部网站维护有没有什么需要推广的平台
  • 建基建设集团网站服务器怎么做网站
  • 成都新站软件快速排名淘宝客网站做百度竞价