去除if..else...语句的模式

1.状态模式:通过不同的状态来选择不同的操作的.

      如if(state1){

                         操作1

                     }else if(state2){

         操作2

                     }else if(state3){

         操作3

                     }.....

      使用状态模式与创建者模式消除if......else .......

                 抽象一个状态类(State),所有操作都继承这个类,实现一个生产工厂(CreateState),让调用者可以获得正确的对象.

      修改后的为: 

      State state=CreateState.getState(...)

                  state.action()

2.面向接口编程,过程和上面的一样.只是判断的条件不同,上面的是根据状态来选择操作.下面的可能根据数据类型......是一个可以表明一个数据特征的.

 

猜你喜欢

转载自jxchenxp.iteye.com/blog/1520071