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

网站视频提取软件app企点

网站视频提取软件app,企点,一个app下载网站,战队头像logo设计状态模式案例解析:三态循环灯的实现 案例概述 本案例使用 状态模式(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/489862.html

相关文章:

  • 官方网站的重要性网页制作源代码
  • 你学做网站学了多久互联网推广引流是做什么的
  • 个人免费网站平台哪个好优化关键词排名seo
  • 杭州网站建设哪里好媒体代发布
  • 网站制作上首页网络广告营销方案策划内容
  • 天津重型网站建设方案公司阿里云域名注册
  • 网站建设(信奈辉煌电商)百度联盟
  • 门户网站做电子商务网站推广
  • 苏州吴中区做网站爱站网seo工具
  • 博山政府网站建设哪家专业一媒体app软件下载老版本
  • 做网站 360的好不好天津优化网络公司的建议
  • 原创手做网站淘宝关键词怎么做排名靠前
  • 红河学院网站建设谷歌广告联盟一个月能赚多少
  • 网站ico如何添加网站推广费用
  • 一流的龙岗网站制作网店营销推广
  • 网络合同怎么签有效seo工程师招聘
  • 网站做百度推广怎么推广网站目前推广平台都有哪些
  • 嘉兴首页杭州seo公司排名
  • 专业的网站优化关键词规划师工具
  • 群晖docker wordpresswin优化大师官网
  • 找工作哪个网站最真实关键词的作用
  • 泸州市住房和城乡建设局网站营销型网站建设多少钱
  • 自己的品牌怎么推广加盟谷歌推广和seo
  • 关于网站建设的书籍中国新闻网最新消息
  • 张家口领先的网站建设服务商微信营销方式
  • 室内效果图代做网站sem是什么品牌
  • 网站建设搞笑广告词seo 工具推荐
  • 建设网站只能是公司win10系统优化软件
  • 装潢设计图片成都专业seo公司
  • 网站 百度搜不到百度信息流怎么做效果好