大话设计模式-读书笔记8状态模式

版权声明: https://blog.csdn.net/u010887126/article/details/79946182

老规矩,上概念:

状态模式state

状态模式:当一个对象的内在状态改变时允许改变其行为,类似该对象改变了其类。
当控制一个对象状态转换的条件表达式过于复杂时的,将状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。
这里写图片描述

状态模式的好处和用处

状态模式的好处:将特定状态相关的行为局部化,并且将不同的行为分割开来。(将特定的状态相关行为都放入一个对象中,由于与状态相关的代码都存在一个类中,通过定义新的子类可以很容易地增加新的状态和转换)

状态模式通过把各种状态转移逻辑分布到state地子类之间,减少相互间的依赖。

什么时候使用:当一个对象的行为取决于它的状态,并且必须在运行时刻根据状态改变它的行为时,可以考虑使用
业务需求:某项业务有多个状态,都是一些枚举常量,状态的变化都是依靠大量的分支判断语句实现,(将每种业务都定义为state子类,这些对象就不依赖其他对象而独立变化,当需要更改需求,增加或减少业务状态改变流程,就不需要通篇都改代码了)

还是不习惯在文章中插入代码片段,我将代码放到github仓库中了。

这里写图片描述

代码地址:
https://github.com/FastStonewkx/hometown

就这些吧,太晚了。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页