电梯功能,电梯状态分为:开门、关门、运行、停止4个状态,不同的状态下支持的操作是不同的。Lift类中的每个方法都会出现大量的switch或者 if else,这看上去代码不够优雅。对有状态的对象,把复杂的判断逻辑提取到不同的状态对象中,运行状态对象在其内部状态发生改变时改变其行为。状态模式就是把原来的case或者if else if 分支都抽象成一个对象。然后引入一个上下文作为代理,客户端的操作都要使用上下文来操作。优缺点优点:缺点:...
电梯功能,电梯状态分为:开门、关门、运行、停止4个状态,不同的状态下支持的操作是不同的。Lift类中的每个方法都会出现大量的switch或者 if else,这看上去代码不够优雅。对有状态的对象,把复杂的判断逻辑提取到不同的状态对象中,运行状态对象在其内部状态发生改变时改变其行为。状态模式就是把原来的case或者if else if 分支都抽象成一个对象。然后引入一个上下文作为代理,客户端的操作都要使用上下文来操作。优缺点优点:缺点:...