码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式之享元模式

时间:2017-10-04 14:24:11      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:method   logs   abstract   key   factor   new   font   actor   dem   

享元模式:运用共享技术有效地支持大量细粒度的对象。

 

public abstract class Flyweight {
    public abstract void method(int stamp);
}


public class ConcreteFlyweight extends Flyweight {
    @Override
    public void method(int stamp) {
        System.out.println("具体的Flyweight:" + stamp);
    }
}

public class UnsharedFlyweight extends Flyweight{
    @Override
    public void method(int stamp) {
        System.out.println("非共享的具体Flyweight:"+stamp);
    }
}

 

public class FlyweightFactory {
    private HashMap flyweights = new HashMap();

    public FlyweightFactory() {
        flyweights.put("A", new ConcreteFlyweight());
        flyweights.put("B", new ConcreteFlyweight());
    }

    public Flyweight getFlyweight(String key) {
        return (Flyweight) flyweights.get(key);
    }
}

 

public class FlyweightDemo {
    public static void main(String[] args) {
        int stamp = 10;
        FlyweightFactory factory = new FlyweightFactory();
        Flyweight A = factory.getFlyweight("A");
        A.method(stamp--);
        Flyweight B = factory.getFlyweight("B");
        B.method(stamp--);

        Flyweight unsharedFlyweight = new UnsharedFlyweight();
        unsharedFlyweight.method(stamp--);
    }
}

 

设计模式之享元模式

标签:method   logs   abstract   key   factor   new   font   actor   dem   

原文地址:http://www.cnblogs.com/emoji1213/p/7625351.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!