saville

博客园 首页 新随笔 联系 订阅 管理

2011年10月13日 #

摘要: 一、概述在面向对象软件设计时,常常碰到某一个对象由于状态的不同而有不同的行为。如果用if else或是switch case等方法处理,对象操作及对象的状态就耦合在一起,碰到复杂的情况就会造成代码结构的混乱。在这种情况下,就可以使用状态模式来解决问题。二、状态模式状态模式允许一个对象在其内部状态改变时改变它的行为,使对象看起来似乎修改了它的类。状态模式的结构图如下Context代表需要改变状态的那个对象,它维护了一个State实例,该实例定义了对象的当前状态。State定义了一个抽象类或是接口,用以封装与特定状态相关的行为。ConcreteState实现了State定义的行为。三、示例本文实现 阅读全文
posted @ 2011-10-13 14:20 saville 阅读(6322) 评论(7) 推荐(4) 编辑