条件语句重构分析
策略模式重构条件语句
状态模式重构条件语句
多态重构条件语句
其实这三种方式都是基于多态实现的,直接加上了各个的特性罢了。策略模式相比较状态模式,前者由客户端传入所有的选择项,而后在Context环境类中选择具体的选项、后者则是在Context状态管理器中根据客户端传入的选择通过SetAddress切换状态。这两者充分体现了其模式的特定——策略模式是客户端已经知道了所有的算法再去选择,而状态模式相当于是一个黑盒子,根据客户端的选择在环境类中做切换。而多态的实现,则是更简单"粗暴",相比较前两者,在中间解耦类(也就是Context)中,并没有太多的处理,利用OOP的多态性来响应客户端的选择。