TOP

设计模式之状态模式
2017-10-10 12:43:51 】 浏览:9935
Tags:设计模式 状态 模式

定义(百度百科):
        当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。

UML类图:

 

具体代码:

public abstract class State {
    public abstract void handle();
}

public class ConcreteState extends State {
    @Override
    public void handle() {

    }
}

public class ConcreteState extends State {
    @Override
    public void handle() {

    }
}

模块说明:
      Context:它定义了客户需要的接口并维护一个具体状态角色(State)的实例,将与状态相关的操作交给当前的ConcreteState对象来处理
      State:定义一个接口以封装使用Context的的一个特定状态相关的行为
      ConcreteState:实现抽象状态State的具体实例

适用场景:
       对象状态的改变将导致行为的变化。
       代码中包含非常多状态判断的语句,导致客户类与类库之间的耦合增强

优缺点:
优点:
         简化应用逻辑控制(对状态的控制)
         更好的区分状态和行为

缺点:
        状态模式的使用必然会增加系统中ConcreteState的个数,导致系统运行开销增大

总结:
       根据状态分离和选择行为


设计模式之状态模式 https://www.cppentry.com/bencandy.php?fid=97&id=131409

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇设计模式之命令模式 下一篇java 进销存 商户管理系统 库存管..