希望高手能解释下。

解决方案 »

  1.   

    http://www.jdon.com/designpatterns/designpattern_State.htm
      

  2.   

    对的
    可以改变的
    把动作封装到对应的状态中
    head first design patterns
      

  3.   

    http://blog.csdn.net/qutr/archive/2006/01/22/586034.aspx 
    看看他写的设计模式学习笔记吧
      

  4.   


    interface IState{
       void do1();
       void do2();
    }
    class State1 implements IState{
      public void do1(){.....}
      public void do2(){.....}
    }
    class State2 implements IState{.....}public class MyApp{
      IState state;
      public void setState(IState state){
        this.state=state;
      }
      public void doSomething1(){
        state.do1();
        System.out.println(state.getClass().getName());
      }
      public void doSomething()
        state.do2();
        System.out.println(state.getClass().getName());
      }  public static void main(String[] args){
         MyApp a=new MyApp();
         a.setState(new State1());
         a.doSomething1();
         a.setState(new State2());
         a.doSomething1();
      }
    }
      

  5.   

    状态,其实就是充分利用多态
    如果不用状态,在类的 doSomething方法中就会有很多的if...else,但用了状态模式,就不用了