`
bjsunrose
  • 浏览: 54026 次
  • 性别: 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、状态模式的注意事项
  
  状态模式适用于当某个对象在它的状态发生变化时,它的行为也随着发生比较大的变化,也就是说在行为受状态越说的情况下可以使用状态模式,而且使用时对象的状态最好不要超过五个。


分享到:
评论

相关推荐

    23种设计模式 - 各种模式的学习

    23种设计模式 目录 创建型 1. Factory Method(工厂方法) 2. Abstract Factory(抽象工厂) 3. Builder(建造者) 4. Prototype(原型) 5. Singleton(单例) 结构型 6. Adapter Class/Object(适配器) ...

    设计模式所有实验及实验报告及代码.zip

    30状态模式 31观察者模式 32中介者模式 33迭代器模式 34访问者模式 35备忘录模式 36解释器模式 37UMLet的使用与类图的设计 38创建型模式应用实验 39结构型模式应用实验 40行为型模式应用实验 所有实验及实验报告及...

    设计模式--C++

    1.8 怎样使用设计模式 20 第 2 章 实例研究:设计一个文档编辑器 22 2.1 设计问题 23 2.2 文档结构 23 2.2.1 递归组合 24 2.2.2 图元 25 2.2.3 组合模式 272.3 格式化 27 2.3.1 封装格式化算法 27 2.3.2 Compositor ...

    C#设计模式(23种设计模式)

    创建型: 1. 单件模式(Singleton Pattern) 2. 抽象工厂(Abstract Factory) 3.... 4.... 5.... 6.... 7.... 8.... 9.... 10.... 11.... 12.... 13.... 14.... 15.... 16.... 17.... 18.... 19.... 20.... 状态模式(State Pattern) @Author kwming

    C#23种设计模式_示例源代码及PDF

    1、 FACTORY —追 MM 少不了请吃饭了, 麦当劳的鸡翅和肯德基的鸡翅都是 MM...20、STATE —跟 MM 交往时,一定要注意她的状态哦,在不同的状态时她的行为会有不同, 、 比如你约她今天晚上去看电影,对你没兴趣的 MM 就...

    设计模式(23种)与设计原则(6种)

    详细描述全部(23种)设计模式与设计原则(6种)。 (一)设计原则包括: 1、开闭原则 2、里氏代换原则 ...20)状态模式(State) 21)策略模式(Strategy) 22)模版模式(Template) 23)访问者模式(Visitor)

    《设计模式》中文版(23个设计模式的介绍与运用)

    1.8 怎样使用设计模式 20 第2章 实例研究:设计一个文档编 辑器 22 2.1 设计问题 23 2.2 文档结构 23 2.2.1 递归组合 24 2.2.2 图元 25 2.2.3 组合模式 27 2.3 格式化 27 2.3.1 封装格式化算法 27 2.3.2 Compositor...

    设计模式 GOF 23

    5.8 STATE(状态)—对象行为型模式 201 5.9 STRATEGY(策略)—对象行为型 模式 208 5.10 TEMPLATE METHOD(模板方法) —类行为型模式 214 5.11 VISITOR(访问者)—对象行为型 模式 218 5.12 行为模式的讨论 228 ...

    java中级进阶高级23种设计模式详细介绍+代码详解PPT模板.pptx

    状态模式 java中级进阶高级23种设计模式详细介绍+代码详解PPT模板全文共26页,当前为第22页。 访问者模式 java中级进阶高级23种设计模式详细介绍+代码详解PPT模板全文共26页,当前为第23页。 中介者模式 java中级...

    设计模式:可复用面向对象软件的基础--详细书签版

    5.8 state(状态)—对象行为型模式 201 5.9 strategy(策略)—对象行为型 模式 208 5.10 template method(模板方法) —类行为型模式 214 5.11 visitor(访问者)—对象行为型 模式 218 5.12 行为模式的...

    NET 设计模式

    6、状态模式 7、适配器模式 8、备忘录模式 9、组合模式 10、简单工厂模式 11、迭代器模式 12、单例模式 13、桥接模式 14、命令模式 15、职责链模式 16、中介者模式 17、享元模式 18、解释器模式 19、访问者模式 20、...

    grub4dos-V0.4.6a-2017-02-04更新

    --u 恢复菜单原始状态。 --timeout=[x]=[y]=[color] 倒计时位置、颜色。单位:列,行,24位色彩。 2015-05-14(yaya) 改进 NTFS 文件系统: 对于驻留属性文件(小文件),可以写,也可用 blocklist 显示信息。...

    软件设计师必读的书-设计模式

    1.8 怎样使用设计模式 20 第2章 实例研究:设计一个文档编 辑器 22 2.1 设计问题 23 2.2 文档结构 23 2.2.1 递归组合 24 2.2.2 图元 25 2.2.3 组合模式 27 2.3 格式化 27 2.3.1 封装格式化算法 27 2.3.2 Compositor...

    23种设计模式的java实现

    状态模式 http://www.cnblogs.com/java-my-life/archive/2012/06/08/2538146.html 策略模式 http://www.cnblogs.com/java-my-life/archive/2012/05/10/2491891.html 模板方法模式 ...

    Java24种设计模式,Java24种设计模式,24种设计模式,学会了这24种设计模式,可以打遍天下无敌手,设计模式非常重要

    1、策略模式STRATEGY PATTERN 2、代理模式PROXY PATTERN 3、单例模式SINGLETON PATTERN 4、多例模式MULTITION PATTERN ...19、状态模式 20、原型模式 21、中介者模式 22、解释器模式 23、亨元模式 24、备忘录模式

    研磨设计模式-part2

    第18章 状态模式(State) 第19章 备忘录模式(Memento) 第20章 享元模式(Flyweight) 第21章 解释器模式(Interpreter) 第22章 装饰模式(Decorator) 第23章 职责链模式(Chain of Responsibility) 第24...

    研磨设计模式-part4

    第18章 状态模式(State) 第19章 备忘录模式(Memento) 第20章 享元模式(Flyweight) 第21章 解释器模式(Interpreter) 第22章 装饰模式(Decorator) 第23章 职责链模式(Chain of Responsibility) 第24...

    研磨设计模式-part3

    第18章 状态模式(State) 第19章 备忘录模式(Memento) 第20章 享元模式(Flyweight) 第21章 解释器模式(Interpreter) 第22章 装饰模式(Decorator) 第23章 职责链模式(Chain of Responsibility) 第24...

    C#设计模式_设计模式_C#_

    创建型: 1. 单件模式(Singleton Pattern) 2. 抽象工厂(Abstract Factory) 3. 建造者模式(Builder) 4. 工厂方法模式(Factory Method) 5. 原型模式(Prototype)结构型: 6.... 状态模式(State Pattern)

    [源代码] 修炼Java开发技术 在架构中体验设计模式和算法之美 (源代码)

    ☆ 资源说明:☆《修炼Java开发技术 在架构中体验设计模式和算法之美》 (随...- (Chapter21.rar)Chapter 22 状态模式 - (Chapter22.rar)Chapter 23 策略模式 - (Chapter23.rar)Chapter 24 观察者模式 - (Chapter24.rar)

Global site tag (gtag.js) - Google Analytics