Java 之 状态模式

public interface State {
	public void handle(String sampleParameter);
}

public class ConcreteStateA implements State {

    @Override
    public void handle(String sampleParameter) {
        
        System.out.println("ConcreteStateA handle ��" + sampleParameter);
    }

}

public class ConcreteStateB implements State {

    @Override
    public void handle(String sampleParameter) {
        
        System.out.println("ConcreteStateB handle ��" + sampleParameter);
    }

}


public class Context {
    private State state;

    public void setState(State state) {
        this.state = state;
    }
    public void request(String sampleParameter) {
        state.handle(sampleParameter);
    }
}

public class Client {
	public static void main(String[] args) {
		State state = new ConcreteStateB();
		Context context = new Context();
		context.setState(state);
		context.request("test");
	}
}

代码地址:lennon

猜你喜欢

转载自my.oschina.net/u/1589819/blog/1561008