`

状态设计模式

阅读更多
状态设计模式:允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。将动作委托到代表当前状态的类。行为会随着内部状态而改变。状态模式的类图和策略模式一模一样。但是两者的用法不同。使用状态设计模式会导致设计的类的数量会大大增加。

一个不太恰当的代码实现:
public class StateMain {
	//状态接口
	State beginState;
	State endState;
	
	
	public void begin(){
		beginState.begin();
	}
	public void end(){
		endState.end();
	}
	
	public State getBeginState() {
		return beginState;
	}
	public void setBeginState(State beginState) {
		this.beginState = beginState;
	}
	public State getEndState() {
		return endState;
	}
	public void setEndState(State endState) {
		this.endState = endState;
	}
	
	
}

public class BeginState implements State{
	private StateMain stateMain;
	public  BeginState(StateMain stateMain) {
		this.stateMain = stateMain;
	}
	@Override
	public void begin() {
		
		System.out.println("开始状态");
		//将状态委托到另一个类中执行
		stateMain.setEndState(stateMain.getEndState());
		
	}

	@Override
	public void end() {
		System.out.println("开始状态");
	}

}



  • 大小: 15.8 KB
分享到:
评论

相关推荐

    设计模式的状态模式的例子

    状态模式是一种行为设计模式,它允许对象在其内部状态改变时改变其行为,使得对象看起来好像修改了它的类。这种模式通常用于当一个对象的行为取决于它的状态,并且它必须在运行时根据状态改变来改变其行为时。在这个...

    python设计模式第2版.pdf

    设计模式是构建大型软件系统zui强大的方法之一,优化软件架构和设计...全书囊括单例设计模式、工厂模式、门面模式、代理模式、观察者模式、命令模式、模板方法模式、复合模式、状态设计模式以及反模式等多种设计模式。

    java设计模式之-状态模式-实现

    状态模式是一种行为设计模式,它允许对象在内部状态改变时改变其行为,对象看起来似乎修改了它的类。这种模式常用于处理对象的状态变化,并且在不同的状态下,对象的行为也相应地变化。在Java中,我们可以利用接口、...

    设计模式之状态模式(State)

    状态模式是一种行为设计模式,它使对象能够在内部状态改变时改变其行为,看起来好像改变了它的类。这种模式常用于处理对象在不同状态下表现各异的情况,避免了复杂的条件语句,提高了代码的可读性和可维护性。 在...

    《设计模式》实战---状态模式(State Pattern)

    状态模式是一种行为设计模式,它使你能在运行时改变对象的行为。在状态模式中,一个对象的状态变化会导致其行为的变化。这种模式常用于处理具有多种状态的对象,且不同状态下对象的行为差异较大。通过将每种状态封装...

    设计模式-状态模式(讲解及其实现代码)

    状态模式是一种行为设计模式,它允许对象在内部状态改变时改变其行为,对象看起来似乎修改了它的类。这种模式常用于处理对象的状态变化,并且在不同的状态下,对象的行为也相应地变化。 状态模式的主要组件包括: 1...

Global site tag (gtag.js) - Google Analytics