设计模式笔记-享元模式
2014-10-01 15:51
176 查看
享元模式的作用是共享元素,这样就不用调用相同元素时候,都去实例化一个对象,节省内存提高效率。
public interface FlyWeight { public void operation(); } public class ConcreteFlyWeight implements FlyWeight { String flyWeight ; public ConcreteFlyWeight(String flyWeight) { this .flyWeight = flyWeight; } public void operation() { System. out .println("the flyWeight is :" + flyWeight + " the real obj is :"+ this); } } public class FlyWeightFactory { public Map<String, FlyWeight> map = new HashMap<String, FlyWeight>(); public FlyWeight getFlyWeight(String name) { if (map .containsKey(name)) { return map .get(name); } else { FlyWeight flyWeight = new ConcreteFlyWeight(name); map.put(name, flyWeight); return flyWeight; } } } public class FlyWeightClient { public static void main(String[] args) { FlyWeightFactory factory = new FlyWeightFactory(); FlyWeight fly1 = factory.getFlyWeight( "fly" ); FlyWeight fly2 = factory.getFlyWeight( "weight" ); FlyWeight fly3 = factory.getFlyWeight( "fly" ); FlyWeight fly4 = factory.getFlyWeight( "weight" ); FlyWeight fly5 = factory.getFlyWeight( "weight" );; fly1.operation(); fly2.operation(); fly3.operation(); fly4.operation(); fly5.operation(); } }
相关文章推荐
- 设计模式笔记 11. Flyweight 享元模式(结构型模式)
- 设计模式学习笔记(十二)——Flyweight享元模式
- 设计模式学习笔记(十二)——Flyweight享元模式
- 设计模式学习笔记——享元模式
- [设计模式笔记]二. 结构型模式--12.Flyweight模式(享元模式)(二)
- 设计模式笔记(12)---享元模式(结构型)
- 设计模式笔记19:享元模式(Flyweight Pattern)
- 【HeadFirst 设计模式学习笔记】15 享元模式拾零
- 设计模式学习笔记——享元模式
- 设计模式学习笔记(十二)——Flyweight享元模式
- 设计模式学习笔记--Flyweight享元模式
- 设计模式学习笔记-享元模式
- 设计模式笔记(二十二) —— 享元模式
- 设计模式笔记(12)---享元模式(结构型)
- 设计模式笔记(12)---享元模式(结构型)
- 步步为营 .NET 设计模式学习笔记 十七、Flyweight(享元模式)
- 步步为营 .NET 设计模式学习笔记 十七、Flyweight(享元模式)
- [设计模式笔记]二. 结构型模式--12.Flyweight模式(享元模式)(一)
- Java设计模式笔记之享元模式
- 设计模式学习笔记(二十二)—FlyWeight享元模式