设计模式——State模式

一,动机
当一个对象的状态发生改变时,有时候我们会希望它的行为也会随着状态的改变而改变。
比如一个人(对象),没钱的时候(状态)晚上只能吃泡面(行为),但是当他有钱了(状态发生改变),那么他就可以大口吃肉了(行为也发生改变)。
这个时候就需要一种方式,在对象的状态发生改变的时候也同样改变它的行为。
State模式就是这样一种模式,允许一个对象在它的内部状态发生改变的时候也改变它的行为,因为行为方法变得不同了,就好像这个类也发生了改变一样。

二,适用情况

  • 对象的行为取决于自身的状态,并且需要在运行时根据自身的状态来决定自己的行为。
  • 当一个操作包含多个条件分支,并且这些分支的条件判断都取决于对象的状态时,可以使用state模式将分支放入类中,使得对象根据状态的不同调用不同的方法。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容