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

设计模式之状态模式

时间:2017-05-26 23:14:16      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:状态模式   state   状态改变   设计模式   复杂对象的状态改变   

1、状态模式的简单介绍:

    

    a、核心:

    -  用于解决系统中复杂对象的状态转换以及不同状态下行为的封装问题。

    

    b、结构:

    -  Context 环境类:

        *  环境类中维护一个 State 对象,他是定义了当前的状态。

    -  State 抽象状态类

    -  ConcreteState 具体状态类:

        *  每一个类封装了一个状态对应的行为。


2、简单的代码演示:

    

    a、HotelRoomState 接口是 State 抽象状态类,FreeState、CheckedInState、BookedState 类是 ConcreteState 具体状态类。


技术分享

技术分享

技术分享

技术分享

技术分享


    b、看看 Client15 测试类输出的结果以及示例的类图关系。


技术分享

.


3、开发中常见的场景:

 

    -  银行系统中帐号状态的管理

    -  OA 系统中公文状态的管理

    -  酒店系统中,房间状态的管理

    -  线程对象各状态之间的切换

本文出自 “12392717” 博客,请务必保留此出处http://12402717.blog.51cto.com/12392717/1930014

设计模式之状态模式

标签:状态模式   state   状态改变   设计模式   复杂对象的状态改变   

原文地址:http://12402717.blog.51cto.com/12392717/1930014

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