动机:允许一个对象在其内部状态改变时改变它的行为。从而使对象看起来似乎修改了其行为。

场景:文件具有只读、读写状态,在不同状态时进行的操作不同。


结构
设计模式学习笔记二十一——State模式


代码
设计模式学习笔记二十一——State模式namespace DesignPattern.State

设计模式学习笔记二十一——State模式namespace DesignPattern.State
}


 要点
        1、本模式将所有与一个特定状态相关的行为都放入一个State的子类对象中,在对象状态切换时,切换相应的对象;但同时维护State的接口,这样实现了具体操作与状态转换之间的解耦。
        2、为不同的状态引入不同的对象使得状态转换变得更加明确,而且可以保证不会出现状态不一致的情况,因为转换是原子性的——要么彻底转换,要么不转换。
        3、如果State对象没有实例变量,那么各个上下文可以共享同一个State对象,从而节省对象开支。

相关文章:

  • 2022-01-01
  • 2021-04-17
  • 2021-09-28
  • 2021-05-18
  • 2021-12-24
  • 2022-01-21
猜你喜欢
  • 2021-10-07
  • 2022-03-01
  • 2021-06-30
  • 2021-07-25
  • 2021-11-18
相关资源
相似解决方案