设计模式-状态模式

1.什么是状态模式

  在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式

  在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象

2.具体用法

public class Context {

    private PCState pcState;
    
    public void setPcState(PCState pcState) {
        this.pcState = pcState;
    }
    
    public PCState getPcState() {
        return pcState;
    }
    
    public void startMyPC() {
        if (getPcState() instanceof ClosePC) {
            getPcState().pcStart();
            setPcState(new StartPC());
        }else {
            log.info("already start");
        }
    }
    
    public void closeMyPC() {
        if (getPcState() instanceof StartPC) {
            getPcState().pcClose();
            setPcState(new ClosePC());
        }else {
            log.info("already close");
        }
    }
}

 

posted @ 2019-10-18 16:17  helloworldmybokeyuan  阅读(104)  评论(0编辑  收藏  举报