码迷,mamicode.com
首页 > 其他好文 > 详细

《Head First 设计模式》之状态模式——糖果机

时间:2017-02-25 13:35:00      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:运行   first   相同   策略   alt   指定   对象   状态   src   

状态模式(State)

  ——允许对象在内部状态时改变它的行为,对象看起来好像修改了它的类。

  • 策略模式与状态模式的区别
    • 状态主体(拥有者)持有状态对象,运行时可以通过动态指定状态对象来改变类的行为
    • 策略主体持有算法族对象,运行时可以通过动态选择算法族中的算法(策略)来改变类的行为也就是说,状态模式与策略模式都支持运行时的多态,并且其实现方式都是组合 + 委托但是这并不代表这两种模式是相同的,因为它们的目标不同:
      • 状态模式实现了算法流程可变(即状态切换,不同的状态有不同的流程)
      • 策略模式实现了算法细节可选(即选择算法族内的算法,一个算法族包含多个可选算法)

 

技术分享

 

技术分享

《Head First 设计模式》之状态模式——糖果机

标签:运行   first   相同   策略   alt   指定   对象   状态   src   

原文地址:http://www.cnblogs.com/-1307/p/6441470.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!