享元模式
简介
是池技术的重要实现方式,用于共享对象。
应用
-
Java 八大基本类型的包装类和 String
-
例如开发一个射击类游戏,但是过多子弹对于内存的消耗极大,如果子弹不能及时回收可能会造成内存溢出,使用享元模式可以使子弹重复利用。
类图
代码
// 伪代码
// 享元类
class Flyweight{};
// 享元工厂
class FlyweightFactory{
Flyweight flyweights[];
Flyweight getFlyweight(){
Flyweight flyweight;
if(flyweights.length!=0){
flyweight = flyweights.remove();
}
else{
flyweight = new Flyweight();
}
return flyweight;
};
}