设计模式笔记-享元模式

来源:互联网 发布:淘宝咋评价 编辑:程序博客网 时间:2024/05/17 07:56
享元模式的作用是共享元素,这样就不用调用相同元素时候,都去实例化一个对象,节省内存提高效率。
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();       }}


0 0
原创粉丝点击