操作型模式

State 模式将所有与一个特定状态相关的行为都放入一个 State的子类对象中,在对象状态切换时,切换相应的对象;但同时维持State的接口,这样实现具体操作与状态之间的解耦。为不同的状态引入不同的对象使得状态转换变得更加明确,而且可以保证不会出现状态不一致的情况,因为转换是原子性,要么彻底转换过来,要么不转换。如果State对象没有实例变量,那么各个上下文可以共享同一个State对象,从而节省开销,这种模式避免写大量if else 或 switch case 语句,但有可能会导致某些系统有过多的具体状态类,并且由此导致开发人员可能会对所有的状态类有所遗漏
注:1> 操作是在方法之上的抽象概念操作定义类所提供的服务,并给出调用该服务的接口,多个类可以用不同的方法实现同一个操作
       2> 方法签名不包括返回类型,但是,如果一个方法重写另一个方法,而这两个方法的返回类型不同,那么编译器就会报错
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值