枚举--策略模式

某个功能或算法有多种实现方式,可以使用策略模式:

   


 

 
 

枚举类也可以实现策略模式类似的功能:(前提:实现个数固定)

枚举类声明一个抽像的方法,由各个实例去实现。

 

枚举实例的选择:

 1.直接引用Scope.实例名

 2.由字符串生成 Scope.valueOf("实例名"); 

 

 示例:(参考了Struts 2.3.26 的Scope源码)

public  enum ScopeFactory {
	SINGLETON{
		public  Object create(Class classz){
			return null;
		}
	},
	Thread{
		public  Object create(Class classz){
			return null;
		}
	},
	Request{
		public  Object create(Class classz){
			return null;
		}
	},
	Session{
		public  Object create(Class classz){
			return null;
		}
	};
	public abstract Object create(Class classz);
}

 

 

 


版权声明:本文为iteye_21194原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。