一.概述在面向对象软件设计时,常常碰到某一个对象由于状态的不同而有不同的行为.如果用if else或是switch case等方法处理,对象操作及对象的状态就耦合在一起,碰到复杂的情况就会造成代码结构的混乱.在这种情况下,就可以使用状态模式来解决问题.二.状态模式状态模式允许一个对象在其内部状态改变时改变它的行为,使对象看起来似乎修改了它的类.状态模式的结构图如下 Context代表需要改变状态的那个对象,它维护了一个State实例,该实例定义了对象的当前状态.State定义了一个抽象类或是接口…