`
bjsunrose
  • 浏览: 57247 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

23-20,状态模式

 
阅读更多
1、Allow an object to alter its behavior when its internal state changes. The object will appear to change its class.(当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类。)
  状态模式的核心是封转,状态的变更引起了行为的变更,从外部看起来就好像这个对象对应的类发生了改变一样。

2、状态模式的三个角色

  一、State-抽象状态角色
  借口或抽象类,负责对象状态定义,并且封装环境角色一实现状态切换。

  二、ConcreteState-具体状态角色
  每一个具体状态必须完成两个职责:本状态的行为管理以及趋向状态处理,通俗的说,就是本状态下要做的事情,以及本状态如何过渡到其他状态。

  三、Content-环境角色
  定义客户端需要的借口,并且负责具体状态的切换。

3、状态模式的注意事项
  
  状态模式适用于当某个对象在它的状态发生变化时,它的行为也随着发生比较大的变化,也就是说在行为受状态越说的情况下可以使用状态模式,而且使用时对象的状态最好不要超过五个。


分享到:
评论

相关推荐

    松下FA光电传感器.激光传感器EX-20系列样本.pdf

    松下EX-20系列传感器的特点包括内置放大器设计,这意味着它们能够提供更高的性能和更稳定的工作状态。传感器提供了多种输出类型,包括PNP输出型,以及内置电源和分离放大器的设计,以适应不同场景的应用需求。同时,...

    Android-23种设计模式

    Android的`Fragment`在不同状态(如暂停、恢复)下的行为变化即为状态模式。 15. **访问者模式(Visitor)**:在不改变类结构的情况下,增加新的操作。在Android中,访问者模式不常见,但在某些解析或遍历场景下可以...

    设计模式精解-GoF 23种设计模式

    21. **状态模式**:允许对象在其内部状态改变时改变其行为,对象看起来似乎修改了它的类。 22. **策略模式**:定义了一系列算法,并将每一个算法封装起来,使它们可以相互替换,让算法独立于使用它的客户。 23. **...

    Java开发 -- 设计模式

    状态模式允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。例如,在游戏开发中,根据游戏角色的不同状态(如受伤、正常等),可以改变角色的行为。 #### 21. 策略模式(Strategy) 策略...

    Head-First-Design-Patterns-master设计模式官方源码

    15. 状态模式(State Pattern):状态模式允许对象在内部状态改变时改变其行为,看起来好像对象改变了它的类。 16. 命令模式(Command Pattern):命令模式将请求封装为一个对象,以便使用不同的请求、队列请求、...

    高清,经典书籍-->设计模式

    21. **状态模式(State)**:允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。 22. **策略模式(Strategy)**:定义一系列算法,并将每个算法封装起来,使它们可以互相替换,让算法独立...

    软件工程实施标准--23种设计模式.zip

    16. 状态模式:允许对象在其内部状态改变时改变其行为,对象看起来似乎修改了它的类。 17. 观察者模式:定义对象间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。 18...

    23种设计模式-简单通俗的代码解释

    这个压缩包文件名为"23种设计模式-简单通俗的代码解释",表明它包含了一个全面的23个经典设计模式的代码实现,这些模式都是为了提高代码的健壮性和可扩展性。下面将对这23种设计模式进行详细阐述: 1. **单例模式**...

    总结23种设计模式-极客学院-课件及源码

    在本资源中,“总结23种设计模式-极客学院-课件及源码”,提供了全面的设计模式学习资料,包括课件和源代码示例,帮助开发者深入理解和应用这些模式。以下是对这23种设计模式的详细概述: 1. **单例模式**:确保一...

    C# 23种设计模式汇总

    - 状态模式允许一个对象在其内部状态改变时改变它的行为。 17. **策略模式(Strategy Pattern)** - 策略模式定义了一系列算法,并将每一个算法封装起来,使它们可以互相替换。 18. **模板方法模式(Template ...

    设计模式精解-GoF 23 种设计模式解析附 C++实现

    19. **状态模式**:允许一个对象在其内部状态改变时改变其行为,对象看起来似乎修改了它的类。 20. **策略模式**:定义一系列的算法,把它们一个个封装起来,并且使它们可以互相替换。策略模式让算法的变化独立于...

    java的23种设计模式

    20. **状态模式**(State) - **模式名称**:状态模式 - **问题**:对象的行为随着状态的变化而变化。 - **解决方案**:允许对象在其内部状态改变时改变它的行为。 - **效果**:提高了对象的行为灵活性,使得...

    Extend a FS offline-单用户模式

    ### Extend a FS offline-单用户模式 #### 一、机房环境及物理检查 ##### 1. 温度与湿度: 机房内的温度与湿度对IT设备的稳定运行至关重要。根据给定信息,最佳的工作温度范围是20-25摄氏度,极限工作温度范围则...

    设计模式-华工课件 设计模式

    3. 行为型模式:这类模式主要关注对象之间的交互和责任分配,包括责任链模式、命令模式、解释器模式、迭代器模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式。例如,命令模式将请求...

    java23中设计模式详解

    20. **状态模式**:允许对象在其内部状态改变时改变其行为,看起来像改变了其类。 21. **策略模式**:定义了一系列的算法,并将每一个算法封装起来,使得它们可以互相替换。策略对象改变算法的行为。 22. **模板...

    SD6084电流模式同步降压转换器固定频率1.5MHz二极管封装SOT23-5

    ### SD6084电流模式同步降压转换器固定频率1.5MHz二极管封装SOT23-5 #### 产品概述 SD6084是一款电流模式同步降压转换器,它具备固定的运行频率,并且集成了PFM(Pulse Frequency Modulation,脉冲频率调制)模式...

    C#23种设计模式【完整】.pdf

    21. 状态模式(State Pattern):允许一个对象在其内部状态改变时改变其行为,使对象看起来似乎修改了其类。 通过学习和掌握这些设计模式,可以提高程序员的设计和编码能力,提高软件系统的灵活性、可维护性和可...

    23种设计模式23种设计模式

    状态模式(State) - **定义**:允许一个对象在其内部状态改变时改变它的行为。 - **应用场景**:当对象的行为依赖于它的状态,并且它必须在运行时刻根据状态改变它的行为时使用。 #### 21. 策略模式(Strategy) ...

Global site tag (gtag.js) - Google Analytics