设计模式_状态模式

Posted tjc1996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式_状态模式相关的知识,希望对你有一定的参考价值。

模式:行为型模式

? 代码
上下文

public interface Context {
    public void setState(State state);
    public void print();
}

上下文实现

public class DefaultContext implements Context {

    private State state;

    public State getState() {
        return state;
    }

    public void setState(State state) {
        this.state = state;
    }

    @Override
    public void print() {
        this.state.print();
    }
}

状态抽象

public interface State {
    public String doAction(Context context);
    public void print();
}

状态实现1

public class StartState implements State {
    @Override
    public String doAction(Context context) {
        context.setState(this);
        return null;
    }

    @Override
    public void print() {
        System.out.println("StartState");
    }
}

状态实现2

public class EndState implements State {
    @Override
    public String doAction(Context context) {
        context.setState(this);
        return null;
    }

    public void print(){
        System.out.println("EndState");
    }
}

以上是关于设计模式_状态模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式_状态模式

多选模式列表视图行在删除后保持选中状态

2018/12/07《大话设计模式》状态模式

用于从 cloudkit 检索单列的代码模式/片段

JavaScript设计模式_13_状态模式

设计模式整理_状态模式