设计模式值状态(STate)

【Flink】状态编程——值状态、列表状态、映射状态、聚合状态、广播状态(内含编程模板和案例) 状态编程——值状态、列表状态、映射状态、聚合状态、广播状态(内含编程模板和案例) 阅读详情
public class MusicFactory
{
    private State state; // 状态,通过设置这个状态来产生不同的事情,State类是个接口,方法是不同实现的小弟
     
    public void ProduceMusic()
    {
        state.ProduceMusic();
    }

    public void SetState(State state)
    {
        this.state=state;
    }

}

//状态接口

public interface State
{
    void ProduceMusic();
}

// 具体的状态类

public class BirdSingingState :State
{
    public void ProduceMusic()
    {
        Console.WriteLine("Bird produce sound");
        Console.Read();
    }
}

 使用:

          

public static void Main()
{


  BirdSingingState birdSing = new BirdSingingState();
  MusicFactory musicFac = new MusicFactory();
  musicFac.SetState(birdSing);
  musicFac.ProduceMusic();

}


///output   "Bird produce sound"

 

23种设计模式-状态(State)设计模式 软考中级-软件设计师 状态设计模式 阅读详情

相关推荐

状态模式设计模式实战State.zip

本文还有配套的精品资源,点击获取 简介:状态模式是一种设计模式,它允许对象根据其内部状态改变行为。该模式通过封装状态到独立的类中来增强代码的可读性和可维护性。示例代码"State.zip"详细展示了如何在实际编程中应用这一模式,包括上下文类、抽象状态类以及具体状态类的实现和交互。 1. 状态模式概念与应用场景 状态模式是一种行为设计模式,用于允许一个对象在其...

weixin_42599558的博客 1161

数据库状态标识位flag设计

设计目的 减少各种状态值字段 减少数据库冗余和存储空间 增加状态值时可灵活调整,无需增加额外字段 运用场景 例子1:管理用户的支付方式 比如针对不同用户组设置了不同的支付方式支持,假设支付方式有支付宝、微信、银联、借条等。A用户支持支付宝、微信;B用户支持支付宝、微信、借条。一般用户支付方式数据库设计为: ID name alipay weixin union iou ...

weixin_30780221的博客 1417

关于StartAI本地部署相关问题解答

很多小伙伴们都有接入自己本地SD的需求,对此小编整理了一些相关问题~

HDJ9387的博客 940

数据库订单表状态字段值设计的一些思考

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34399060的博客 1247

前端监控体系:从Sentry到LogRocket错误追踪

Sentry是一款开源的实时错误追踪系统,支持多种语言和框架,包括JavaScript、React、Vue等。它提供了丰富的错误信息、堆栈跟踪和环境数据,帮助开发者快速定位和解决问题。LogRocket是一款前端监控和用户行为分析工具,它提供了视频回放、性能监控、错误追踪等功能。与Sentry不同,LogRocket更注重用户行为的全面分析。前端监控体系是确保应用稳定性和用户体验的重要保障。通过集成Sentry和LogRocket等监控工具,开发者可以实时追踪应用中的错误和用户行为,快速定位和解决问题。

shejizuopin的博客 1316

C#实战:通过ZPL指令与斑马打印机交互及状态监控全解析

本文全面解析了在C#中通过ZPL指令与斑马打印机进行交互及状态监控的实战方法。文章详细介绍了TCP/IP网络打印和Windows Raw打印两种核心连接方式,并深入讲解了ZPL指令的构建。重点阐述了通过SGD命令和斑马官方SDK实现实时打印状态监控的策略,为工业自动化场景下的可靠打印提供了完整解决方案。

weixin_29294395的博客 117

关于数据库‘状态’字段设计的思考与实践

最近在做订单及支付相关的系统,在订单表的设计阶段,团队成员就‘订单状态’数据库字段设计有了一些分歧,网上也有不少关于这方面的思考和探讨,结合这些资料和项目的实际情况,拟对一些共性问题进行更深一层的思考,笔耕在此,和大家一起探讨。 问题综述 这里的分歧点即有团队内部的分歧点,也有网络上常见的一些分歧点,先将存在的分歧点抛出来: 1、订单表的‘订单状态’字段对应的字典值应当包含哪些状态值?对于‘...

weixin_30648963的博客 2203

《童虎学习笔记》5分钟用Keepalived搭建MySQL高可用实现虚ip自动漂移

1

tonghu_note的博客 5618

mysql 订单最新状态_数据库订单表状态字段值设计的一些思考

今天想讲下自己对订单表状态字段的值设计的一个浅薄的思考和理解。先说下我一年前对这个状态字段的一个值设计。0:创建-1:买家取消-2:卖家取消-3:系统取消-4:失败1:已支付2:已发货3:交易完成4:已评价这是一个很容易就设计出来的值。也是我之前的理解:负面状态为负数,正面状态为正数,初始化状态为0。一开始用着,感觉还没什么问题。但时间久了,需求一变更,就发现这个值设计不对劲了。假设有个需求,买卖...

weixin_39614262的博客 1046

QMT量化交易实战:如何用通达信预警数据自动买卖股票(附完整Python代码)

本文详细介绍了如何利用QMT平台结合通达信预警数据实现股票自动化交易,提供完整的Python代码实现。通过实时监控通达信预警板块文件,系统自动执行买卖操作,提升交易效率。文章涵盖系统架构设计、数据对接、信号处理、订单执行等核心模块,适合量化交易初学者和通达信用户参考实践。

weixin_29251567的博客 678

eDP V1.4协议介绍

eDP的全称是Embedded DisplayPort嵌入式显示端口,主要应用与短距离系统内应用,例如手机、一体式台式机等。eDP V1.4b是基于DP V1.3标准制作完成,但因应用场景的不同,还是有很多区别。电压摆幅不同,eDP相对较低;eDP功耗相对较低;DP有线材和连接器的要求,eDP没有明确要求;AUX通道电路设计不同(相对DP取消了AC耦合电容和100KΩ/1MΩ的上下拉电阻):典型应用场景;

qflook的博客 4303

tri-state(三态)介绍(状态设计模式,一个值或结果可以有三种明确的状态:成功(Success)、失败(Failure)、进行中/未知/未完成(Pending/Unknown))

tri-state(三态)在这里指的是一种状态设计模式,即一个值或结果可以有三种明确的状态,而不是简单的"成功/失败"两种。Tri-state = 成功 / 失败 / 未完成,三种状态明确区分,绝不把"失败"伪装成"成功但结果为零"。

Dontla的博客 247

【Codecs系列】x265编码器(十二):子像素运动搜索

在基于块运动补偿的视频编码框架中,运动搜索是最为重要的环节之一,同时也是编码端最为耗时的模块。运动搜索包括整像素运动搜索和子像素运动搜索,其中整像素运动搜索已经有很多快速算法,比如经典的三步搜索法、菱形搜索、六边形搜索以及TZSearch等等;但子像素搜索的快速算法却比较少,本文主要讲解x265编码器中的子像素搜索方法以及相关的快速搜索方法。

优快云明星博主,认证博客专家,视频、Matlab领域优质创作者。 749

状态者模式(State Pattern)——C#设计模式十九

原文地址:http://www.cnblogs.com/zhili/p/StatePattern.html 原文作者:Learning hard 一、引言 在上一篇文章介绍到可以使用状态者模式和观察者模式来解决中介者模式存在的问题,在本文中将首先通过一个银行账户的例子来解释状态者模式,通过这个例子使大家可以对状态者模式有一个清楚的认识,接着,再使用状态者模式来解决上一篇文章中提出的问题。 二、状态...

U3D开发 317

大数据与宠物:健康监测数据分析

随着全球宠物市场规模的快速增长(2023年全球宠物产业规模已达3500亿美元),宠物健康管理需求呈现指数级上升。传统宠物医疗依赖定期体检和症状观察,存在滞后性和主观性缺陷。本文聚焦如何通过物联网(IoT)设备采集宠物生理数据(体温、心率、活动量等),利用大数据分析技术构建实时健康监测系统,实现宠物健康状态的动态评估、异常预警和疾病预测。研究范围涵盖数据采集技术、数据预处理方法、机器学习模型构建及实际应用场景落地。背景介绍:明确研究目的、目标读者及核心术语核心概念与联系。

2502_91592937的博客 1068

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Java设计模式-状态模式(State)

核心思想就是:当对象的状态改变时,同时改变其行为,很好理解!就拿QQ来说,有几种状态,在线、隐身、忙碌等,每个状态对应不同的操作,而且你的好友也能看到你的状态,所以,状态模式就两点:1、可以通过改变状态来获得不同的行为。2、你的好友能同时看到你的变化。看图: State类是个状态类,Context类可以实现切换,我们来看看代码: package com.xtfggef.dp.st...

weixin_30868855的博客 80

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

设计模式第21讲——状态模式(State)

状态模式是一种行为型设计模式。简单地讲就是,一个拥有状态的context对象,在不同状态下,其行为会发生改变。一、什么是状态模式 二、角色组成 三、 优缺点 四、应用场景4.1 生活场景4.2 java场景 五、代码实现5.0 UML类图5.1 State——抽象状态5.2 具体状态5.3 Machine——上下文5.4 testState 六、总结

让~学习~成为一种习惯(橡 皮 人の技术博客) 7540

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

行为设计模式之State(状态)设计模式

本文介绍了行为设计模式中的State(状态)模式。该模式允许对象在内部状态改变时改变行为,解决对象行为依赖于状态的多分支条件判断问题。文章展示了状态模式的结构、适用场景以及一个售货机状态转换的代码示例。典型应用场景包括对象行为随状态显著变化、需避免大量条件分支、状态转换规则明确且可能变化、状态数量较多或可能增加等情况。常见应用领域涵盖游戏开发、用户界面、工作流引擎、网络协议和嵌入式系统等。状态模式通过将状态和行为封装到独立类中,提高了代码的可读性、可维护性和扩展性,符合开闭原则。

qq_45938780的博客 1276

设计模式之状态STATE模式(C++)

状态模式:属于行为型模式的其中一种,其允许一个对象在内部改变状态时改变它的行为,对象看起来似乎修改了它的类。 状态模式主要解决的是当控制一个对象的状态转换条件表达式过于复杂时的情况,把状态的逻辑判断转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。好处就是讲于特定状态相关的行为局部化,并且将不同的状态行为分割开来。比如说我们有一个DoSomeThing的函数,该函数内有大量的if els

hailong0715的专栏 3236

状态模式 State 行为型 设计模式(二十四)

状态模式 State 人有喜怒哀乐,海绵宝宝也会有不同的时候,也会有不同的心情~ 问题:上图中,如果跟海绵宝宝开玩笑,那种情况最可能被打? 看下面一个示例,演示了java中的多态特性 类A有方法action() 类B继承了A 覆盖了方法action()&#13...

noteless的博客 130

设计模式学习(五):State状态模式

在面向对象编程中,是用类表示对象的。也就是说,程序的设计者需要考虑用类来表示什么东西。类对应的东西可能存在于真实世界中,也可能不存在于真实世界中。在State模式中,我们用类来表示状态。在现实世界中,我们会考虑各种东西的“状态”,但是几乎不会将状态当作“东西”看待。因此,可能大家很难理解“用类来表示状态”的意思。在本文中,我们将要学习用类来表示状态的方法。以类来表示状态后,我们就能通过切换类来方便地改变对象的状态。当需要增加新的状态时,如何修改代码这个问题也会很明确。

m0_49499183的博客 3175

设计模式-状态模式(State)

状态是一种行为设计模式,让你能在一个对象的内部状态变化时改变其行为,使其看上去就像改变了自身所属的类一样。

紫荆鱼的博客 1729

状态模式——State (更好的实现状态机)

1. 概述     The intent of the STATE pattern is to distribute state-specific logic across classes that represent an object’s state.     STATE 设计模式的目的 是:将特定状态相关的逻辑分散到一些类的状态类中。  ...

chuanwang66的专栏 2352

状态模式——State 更好的实现状态机

状态模式——State 更好的实现状态机

qq_44945094的博客 513

Python State 设计模式:从“状态爆炸”到优雅切换的实战指南

本文介绍了Python中的State设计模式,通过订单状态机案例演示了如何优雅管理对象状态转换。文章首先展示了传统if-else方法的弊端,然后详细讲解了State模式的三大组件(Context、State、ConcreteState)及其实现方式。示例代码将订单状态(待支付/已支付/已发货/已完成)拆分为独立类,每个状态自行决定下一步行为。此外还推荐了transitions库,可简化状态机实现。

engchina的专栏 1300
上一篇: Socket
下一篇: ContextMenuStrip 和 ToolStrip(工具条) MenuItem ToolStripManager
Bill11YAng
博客等级 码龄14年 165粉丝 230原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值