JAVA 设计模式 状态模式

用途


状态模式 (State)
当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。
状态模式是一种行为型模式
结构

aaarticlea/png;base64,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OM8YX1/foR6DmbsS6VUfDQM2V5zFHXXJIrPy7sUCOp2FEpdXrNc+mDljxqRJk+bNm7d8+fKdO0Pv3E6rXfulE8eP0Md1emrikp8XeE2aNHTc0HHfjfvwww979vgoKzPlpZdcoqOjAQAIOnhgb/Xq1b/77rtJlIk/rFn9q1ar9fX1pQO7du2Uop2Yk/382VPLly76ZfE8r4nfp6amjB071svLS+pNIAAWxowe5eXllZqaumTJksmTJ0/68ftJE3/o1q1bn497p6cm16xZ83TMCcBCvumB/3b/hg0bGHT3O73ztv+fv1NpS0tLq1Gjhmwc2Lt3b61aNcd/N27SxB/pJa1btyY99Wb9+m9J8irID+q3335bihMQQdQpVy4H1cp1CVihBgEAPvrIffu2EOUzOgtEKmQjnD719/JlPy9fvmz50kXLly5avnzp8gpBz549O3d6d/3ajcuXL1++7CfV51q2fOmi5cuXld6llSjLFh85eSDPdF/pD0LXHOqiIhWaEre9Iil9gKxataJF8zd6dP+QGgdO/H2QqsmhQ4dee+3VvNx7N+8n5xrvrVy5vGfPnixy4ORx6u05+FdkvXr18vPzAQAITktJPBd3UokcIKISjIWMsTFHD/y1d9Gihb179fAY8pVRewcIYvKq6lbwzf++9fGZsX///gYNGuh0Ohrqv3Tp0j4f98hIvfaf/zSIPX0CRD0g0769exo2bGgwGDp16uS/YQ19qS8sr6+/3tCou0fNFKmpqefPn09NTa1evXpc7GnAFkB62ZTG5JUuzVi2AlZloxE2woKxWCBax44dAwI2ATazEgpOAZE+PgEsLJy/oEH9xr17de/du3fvXt179+rZu6LQt++grwb/r3ev7r179yrta3EUdevWnew3OTM/EwgCUacUBiGiFNtewSl54wBCYlZGYmZGWlZm6oplP381+Mu7d++2bt06KioqMzMzPz//xIkTbdu0uXY5LjMjLTM9ec7s6T179szJyXnzzTejIndkZqTk5+edOHG8Xbt2169fz8zMzMpMXbZk8ZCvBkmRAyYQ9XShh6zarKzbn376af369ef4+bIkVKS3iRbP0Z7MtSWy5Fpv74Vz5646duxYx44dExMTMzMzMzMzZ8+e3efjnrfTb7Zo0f38+UuATCDq9kWFUXn9/PPP16xZk5l+KzM96fTp09WrV4+NPeM5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" alt="" />

图-状态模式结构图

State : 定义一个接口以封装与 Context 的一个特定状态相关的行为。
abstract class State {

    public abstract void Handle(Context context);

}

ConcreteState : 每一个子类实现一个与 Context 的一个状态相关的行为。

class ConcreteStateA extends State {

    @Override

    public void Handle(Context context) {

        context.SetState(new ConcreteStateB());

    }

}

class ConcreteStateB extends State {

    @Override

    public void Handle(Context context) {

        context.SetState(new ConcreteStateA());

    }

}

Context : 维护一个 ConcreteState 子类的实例,这个实例定义当前的状态。

class Context {

    private State state;

    public Context(State state) {

        this.state = state;

    }

    

    public void SetState(State state) {

        this.state = state;

        System.out.println("当前状态:" + state.getClass().getName());

    }

    public State GetState() {

        return state;

    }

    

    public void Request() {

        state.Handle(this);

    }

}

测试代码

public class StatePattern {

    public static void main(String[] args) {

        Context c = new Context(new ConcreteStateA());

        c.Request();

        c.Request();

    }

}

运行结果

当前状态:ConcreteStateB

当前状态:ConcreteStateA
推荐

本文属于 JAVA设计模式系列

参考资料

《大话设计模式》

《HeadFirst设计模式》 

上一篇:centos MySQL主从配置 ntsysv chkconfig setup命令 配置MySQL 主从 子shell MySQL备份 kill命令 pid文件 discuz!论坛数据库读写分离 双主搭建 mysql.history 第二十九节课


下一篇:mysql processlist 线程状态