1.定义:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。主要解决的问题是当控制一个对象状态转换的条件表达式过于复杂时把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。
2.UML类图:

3.好处:将与特定状态相关的行为局部化,并且将不同状态的行为分割开来。降低耦合

大话设计模式读书笔记之状态模式相关推荐

  1. 大话设计模式读书笔记之原型模式

    由于大话这本书是以C#语言为基础写就的,本设计模式的例子中使用了一些c#中的API,因此就不再引用此书中的例子了,参考了一篇博客园中的大神写就的浅显易懂的JAVA版原型模式,在此奉上链接,以供大家学习 ...

  2. 大话设计模式读书笔记--4.代理模式

    生活中的例子: 班主任让班长通知班委下午3点开会 班长就是班主任的代理 代理模式的目的是: 隐藏真实访问对象,同时可以处理别的事情 定义 代理模式:为其他对象提供一种代理以控制对这个对象的访问 也就是 ...

  3. 大话设计模式读书笔记--6.原型模式

    简单的复制粘贴极有可能造成重复代码的灾难, 但是java中提供了克隆的功能, 如果一个对象创建过程复杂,又要频繁使用, 在初始化信息不发生变化的情况下,应当采取克隆而不是new一个对象 定义 原型模式 ...

  4. 大话设计模式读书笔记10----外观模式(Facade)

    外观模式(Facade):为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更容易使用. 1.在设计初级阶段,应该要有意识的将不同的两个层分离. 2.层与层之间建 ...

  5. 大话设计模式读书笔记之桥接模式

    1.定义: 将抽象部分与它的实现部分分离,使它们都可以独立地变化. 需要理解,什么叫抽象与它的实现分离,并不是说,让抽象类与其派生类分离,因为这没任何意义.实现指的是抽象类和它的派生类用来实现自己的对 ...

  6. 大话设计模式读书笔记

    主题 概要 设计模式 大话设计模式读书笔记 编辑 时间 新建 20170423 序号 参考资料 1 大话设计模式 重新看了一遍设计模式,除了一些已经特别熟悉的模式,都自己敲了一遍代码,有些豁然开朗的感 ...

  7. 设计模式读书笔记-----工厂方法模式

    一.问题 在前一章<设计模式读书笔记-----简单工厂模式>中通过披萨的实例介绍了简单工厂模式.在披萨实例中,如果我想根据地域的不同生产出不同口味的披萨,如纽约口味披萨,芝加哥口味披萨.如 ...

  8. 大话设计模式读书笔记(十三) 状态模式

    状态模式: 状态模式定义: 状态模式(State):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像改变了其子类. 状态模式UMl类图: 状态模式Java代码实现 public class ...

  9. 设计模式学习笔记(6) - 状态模式

    状态模式与策略模式很像,真的很像. 下面举个例子来说明,我们都知道银行经常将用户划分个三六九等,划分的方法很简单,就是用户的存款.下面用php代码来模拟下这个过程: <?php /** *  状 ...

最新文章

  1. 深入理解javascript异步编程障眼法h5 web worker实现多线程
  2. css3中的 @Keyframes
  3. lnmp基于fastcgi实现nginx_php_mysql的分离_LNMP基于FastCGI实现Nginx,PHP,MySQL的分离
  4. 引用和指针的区别都有什么_C++指针与引用的区别
  5. Linux Device Tree
  6. JVM常用新生代垃圾收集器
  7. Android:学习路线总结,绝对干货
  8. jQuery读取和设定KindEditor值的方法
  9. SpringMCV结构
  10. Oligo 7 引物设计 安装
  11. 考查频率最高的吉林八景
  12. IINA+ :在IINA播放器上观看直播
  13. bootstarp怎么使盒子到最右边_基于Android血统的NAS+盒子共生体——零刻GS-king X 开箱初体验...
  14. JsBarcode条形码组件封装
  15. 初生牛犊不怕虎的我记录一次 web面试
  16. Quartus II使用说明(Verilog HDL二选一数据选择器 )
  17. 非财务人员的财务培训教(一.二)------财务基础知识
  18. 天时地利人和—一个传奇操作系统的诞生记
  19. 最近有点沉迷switch游戏
  20. 合成孔径雷达干涉测量InSAR数据处理、地形三维重建、形变信息提取、监测等应用

热门文章

  1. No connection could be made because the target machine actively refused it [::1]:808
  2. 11.18XML与JSON的简介
  3. 化妆品标签包含哪些内容
  4. PlayStation Classic由开源PCSX模拟器提供支持
  5. SONY的IMX500浅谈
  6. 都问我在阿里上班是什么体验?今天就闲聊一下在阿里上班的体验!
  7. 怎样使用计算机的桌面助手,360安全卫士如何整理电脑桌面?360桌面助手使用说明...
  8. 我的世界观——阿尔伯特·爱因斯坦
  9. 黑马程序员--C语言基础之--变量、内部函数与外部函数
  10. 老罗抖音推荐EcoFlow正浩户外电源,小众科技为何被选中?