设计模式--状态模式

基本常识:策略模式与状态模式是双胞胎,在出生时才分开。

假设公司有个糖果机,1当糖果机由糖果,投入25分钱,转动曲柄,出来糖果, 2.当糖果机没有糖果,投入25分钱,点击退回25分钱。如何设计才能更好维护并且有弹性。

让我们来分析这个系统。这个系统有四个状态 :1.没有25分钱,2有25分钱,3糖果出售,4糖果售罄。



假设上面是我们初始设计的代码,它没有什么问题。

有一天ceo决定玩的新的,他说每当有人转同曲柄,就会有10%概率得到两颗糖。这样就要在每个方法里面改了。





中奖状态

其它代码就不列出了。

状态模式:运行对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。

状态模式与策略模式比较。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录 本文的结构如下: 引言 什么是状态模式 模式的结构 典型代码 代码示例 状态模式和策略模式的区别 优点和缺点...
    w1992wishes阅读 784评论 0 6
  • 前言 Android的设计模式系列文章介绍,欢迎关注,持续更新中: Android的设计模式-设计模式的六大原则一...
    四月葡萄阅读 7,916评论 5 6
  • 定义 允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。 解决问题 对象的行为依赖于它的状态(...
    充满活力的早晨阅读 532评论 0 1
  • 定义 状态模式,又称为状态对象模式(Pattern of Object for States),状态模式是对象的行...
    步积阅读 1,199评论 0 1
  • 早上看到了趁早群里的一篇公众号文章,让我又有了想写写写的想法。所以今天早上我进行了相对深刻的反思。发现了以下的问题...
    酱酱酱姐阅读 534评论 0 2