状态模式
定义
状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。
需求
糖果机有多个状态,不同状态都有相应的办法,所以需要很多if条件,如果增加一个状态的话就需要改变所有的代码。
传统设计
对每个方法写四个if(如果有四个状态),如果增加一个状态,就在if中增加一个if条件。
Decorator模式
试用范围
适用于多个状态时,并且方法是不变的,主要目的是为了封装变化。
状态模式
定义
状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。
需求
糖果机有多个状态,不同状态都有相应的办法,所以需要很多if条件,如果增加一个状态的话就需要改变所有的代码。
传统设计
对每个方法写四个if(如果有四个状态),如果增加一个状态,就在if中增加一个if条件。
Decorator模式
试用范围
适用于多个状态时,并且方法是不变的,主要目的是为了封装变化。