版权声明:本文为博主原创文章,未经博主允许不得转载。个人公众号:百草疯茂 https://blog.csdn.net/wang_pengyu/article/details/84891884
package com.test.DPs.JieGou.FlyWeight;
import java.util.HashMap;
/**
* 结构型:FlyWeight-享元 桥接:作用面为 对象
*
* 用途:运用共享技术,有效地支持大量细粒度对象。
*/
abstract class flywei{}
public class FlyWeight extends flywei{
Object obj;
public FlyWeight(Object obj){
this.obj = obj;
}
}
class FlyWeightFactory{
private HashMap<Object, FlyWeight> data;
public FlyWeightFactory(){ data = new HashMap<>();}
public FlyWeight getFlyWeight(Object object){
if(data.containsKey(object)){ //if(data.containsKey(object)){
return data.get(object);
}else{
FlyWeight flyweight = new FlyWeight(object);
data.put(object, flyweight);
return flyweight;
}
}
}