Java设计模式之共享模式/享元模式(Flyweight模式)介绍
Flyweight定义:避免大量拥有相同内容的小类的开销,使大家共享一个类(元类)。说白点,就是先捏一个的原始模型,然后随着不同场合和环境,再产生各具特征的具体模型,很显然,在这里需要产生不同的新对象,所以Flyweight模式中常出现Factory模式。Flyweight的内部状态是用来共享的,Flyweight factory负责维护一个Flyweight pool(模式池)来存放内部状态的对象。Flyweight模式是一个提高程序效率和性能的模式,会大大加快程序的运行速度。我们先从Flyweight抽象接口开始:至此,Flyweight模式的基本框架已经就绪,我们看看如何调用:每个CD有三个字段:1.出片日期其中,歌唱者姓名有可能重复,也就是说,可能有同一个演唱者的多个不同时期 不同曲目的CD。我们将"歌唱者姓名"作为可共享的ConcreteFlyweight.其他两个字段作为UnsharedConcreteFlyweight。
用户评论