设计模式之状态模式

来源:互联网 发布:凤阳安广网络 编辑:程序博客网 时间:2024/05/20 06:53

1.设计原则

状态模式主要解决的是当控制一个对象的条件表达式过于复杂是的情况。状态模式,将状态的判断逻辑转移到了表示不同状态的一系列类中

2.策略模式中的对象

1.抽象状态角色(State):主要负责定义不同状态下的不同处理接口。

2.具体状态角色(ConcreteState):实现抽象状态中的相关接口方法

3.上下文环境角色(Context):保存当前状态信息,定义了抽象状态角色。

eg;

在编辑模式和状态模式之间切换









3.使用场合

主要使用于操作中包含有庞大的分支结构,并且这些分支决定于对象的状态。直接切换 状态,将判断放置到对应的类中去处理,从而减少分支的复杂度

4.相关的设计模式

1.单例模式,对应的状态类,为了避免重复创建状态类,减少系统消耗

2.享元模式

3.策略模式:与状态模式及其类似。状态模式主要解决的是复杂的逻辑处理的状态迁移,而这个过程是由对象的内部条件决定,外部只需要关心其。策略模式,则是一组方案或者说是算法的相互替换,用于随不同的外部环境采取不同的行为的场合。



0 0