享元模式

概述

有时候需要在系统中增加对象的个数,并且这些对象是相同或相似的。为了避免出现大量相同或相似的对象,享元模式通过共享技术实现相同或相似对象的重用,享元模式通常会出现工厂模式,需要创建一个享元工厂来维护一个享元池,用于存储具有相同或相似的享元对象


模式分析

享元模式的核心在于享元工厂类,享元工厂类的作用在于提供一个用于存储享元对象的享元池。典型的享元工厂类代码如下:

public class FlyweightFactory {

    private HashMap flyweights = new HashMap();

    public Flyweight getFlyweight(String key) {
        if (flyweights.containsKey(key)) {
            return (Flyweight) flyweights.get(key);
        } else {
            Flyweight fw = new ConcreteFlyweight();
            flyweights.put(key, fw);
            return fw;
        } 
    }
}
posted @ 2020-05-09 18:02  低吟不作语  阅读(555)  评论(0编辑  收藏  举报