首页 > 其他 > 详细

状态模式(行为型)

时间:2020-11-29 14:35:31      阅读:28      评论:0      收藏:0      [点我收藏+]

 

设计模式的3个分类:创建型模式、结构型模式、行为型模式

状态模式定义:

允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。

 

状态模式图示:

技术分享图片

 

 代码实现:

//定义状态接口
public interface State {

    void handle(Context context);
}

public class ConcreteStateA implements State{

    @Override
    public void handle(Context context) {
        System.out.println("the is stateA! do the handleA method!");
    }
}


public class ConcreteStateB implements State{

    @Override
    public void handle(Context context) {
        System.out.println("the is stateB! do the handleB method!");
    }
}

public class Context {

    private State state;

    public Context(State state) {
        this.state = state;
    }

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

    public void request() {
        state.handle(this);
    }
}

//Test
public class StatePatternDemo {

    public static void main(String[] args) {

        Context context = new Context(new ConcreteStateA());
        context.request();

        context.setState(new ConcreteStateB());
        context.request();
    }
}

 

思考:

策略模式和状态模式及其相似又是单独的两个模式,相同的和不同点又都是哪些?

下一篇介绍。

 

ps:

目前的这些整体写的都比较简单,一是时间有限,二是写这些主要也是梳理自己的思路和调整状态,可以结合其他更全面的设计模式的文章来看。

 

--End

 

状态模式(行为型)

原文:https://www.cnblogs.com/heibingtai/p/14056097.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!