码迷,mamicode.com
首页 > 编程语言 > 详细

Java 设计模式之状态管理

时间:2015-08-17 15:27:45      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

定义:允许一个对象的内部状态改变时改变它的行为。对象看起来似乎修改了它的类。

本质:根据状态来分离和选择行为。

状态:对象实例的属性值。

行为:对象的功能,大多对应到方法上。

状态模式的功能:分离状态的行为,通过维护状态的变化,来调用不同装态对应的不同功能。

状态和行为是相关联的,可以描述为:状态决定行为

(1)定义状态枚举

public enum MagicState {
		LOCK,DOWNLOAD, DOWNLOADING, 
		PROCESS, PROCESSING, SOUND
	};

  

(2)设置状态

public void setState ( MagicState state){
		this.state = state
	};

  

(3)为状态添加方法

private void switchMagicState(MagicState ms) {
		Logging.d(TAG, "switchMagicState|ms = " + ms);
		mMagicTask.state = ms;
		switch (ms) {
		case LOCK:
                        //.......lock相关的方法
			break;
		case DOWNLOAD:
			break;
		case DOWNLOADING:
			break;
		case PROCESS:
			break;
		case PROCESSING:
			break;
		case SOUND:
			
			break;
		default:
			break;
		}
	}

  

(4)切换状态

Java 设计模式之状态管理

标签:

原文地址:http://www.cnblogs.com/xiakexinghouzi/p/4736657.html

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