状态模式——从斗地主开始说起

“人有悲欢离合,月有阴晴圆缺”。很多事物在特定条件下转换成不同的状态,在不同状态下表现出不同的行为。

状态模式——从斗地主开始说起

在软件系统中,有些对象在不同的条件下也具有不同的状态,不同状态之间可以相互转换。通过判断不同的条件分支(if…else…或者switch..case…)可以进行状态的转换。但这样势必使得代码的判断逻辑变得复杂,降低系统的可维护性。如果新加入一种状态,还需要修改判断逻辑,不符合开闭原则。

为解决复杂对象的多种状态转换问题,并使客户端代码与对象状态之间的耦合度降低,可以使用状态模式

1.状态模式简介

状态模式将一个对象的状态从对象中分离出来,封装到专门的状态类中,使得对象状态可以灵活变化。对于客户端而言,无需关心对象转态的转换以及对象所处的当前状态,无论处于何种状态的对象,客户端都可以一致处理。

状态模式:

允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。

<

来源:冯Jungle

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年2月7日
下一篇 2022年2月8日

相关推荐