Java 设计模式之状态管理

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

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

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

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

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

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

(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)切换状态

posted @ 2015-08-17 15:09  侠客行猴子  阅读(997)  评论(0)    收藏  举报