设计模式--状态模式

本文深入探讨了状态模式的概念,解释了当对象状态改变时如何通过改变其行为来实现更灵活的设计。文章对比了状态模式与策略模式的区别,阐述了状态模式在代码设计中的使用场景和优缺点,特别提到了在处理登录状态和电视遥控器功能中的应用。

定义:当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了行为。也就是在不同的状态下有不同的响应。
特点:在写法上类似策略模式,但是策略模式各个具体类是可以替换的,因为各个具体类的行为是彼此独立的,意义是相同的。而状态模式的各个具体类是意义各自不同,不能相互替换,不同的状态代表着不同的行为。
使用场景:
1.一个对象的行为取决于它的状态,并且在运行时根据状态改变行为。
2.代码中有大量的关于状态有关的语句。比如if else
优点:能够将复杂的代码封装到类中,增加扩展性和灵活性。
缺点:增加类的数量

实现一个电视遥控器的功能:这里有两种状态:开机 关机
这里写图片描述
开机后的状态类
这里写图片描述
关机后的状态类
这里写图片描述
操作类的抽象
这里写图片描述
操作类
这里写图片描述
进行使用
这里写图片描述

有个实际应用的例子,就是处理登录的情况。对于频繁进行验证的情况下,比较好用。
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值