(11) 상태 모드

8104 단어 디자인 모드
업무 중 에 항상 그런 상태 가 매우 많은 것 이 있다. 예 를 들 어 하나의 입 항, 신 설, 이미 제출, 이미 심사 비준 등 여러 가지 상태 가 있 을 수 있다. 하나의 활동 은 신 설, 이미 제출, 심사 통과, 집행 중, 끝 등 여러 가지 상태 가 있 을 수 있다. 따라서 이 디자인 모델 은 하나의 입 항, 하나의 주문 이라는 '대상' 을 대상 으로 하 는 논 리 를 말한다.
public interface State {
	void execute();
}

public class NewState implements State {
	public void execute() {
		System.out.println("       ")
	}
}
public class ApprovingState implements State {
	public void execute() {
		System.out.println("        ")
	}
}
public class ApprovedState implements State {
	public void execute() {
		System.out.println("        ")
	}
}
public class FinishState implements State {
	public void execute() {
		System.out.println("        ")
	}
}

그 다음 에 상태의 유통 과 다음 작업 을 모두 문맥 류 에서 통일 적 으로 관리 하고 유통 시킨다.
public class Context {
	private State state;
	public Context(State state) {
		this.state = state;
	}
	public void execute(int stateType) {
		if (stateType == 1) {
			this.state = new ApprovingState();
			this.state.execute();
		} else if (stateType == 2) {
			this.state = new ApprovedState();
			this.state.execute();
		} else if (stateType == 3) {
			this.state = new FinishState();
			this.state.extcute();
		}
	}
}

좋은 웹페이지 즐겨찾기