23种设计模式之享元模式(FlyWeight)

Posted 极简

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了23种设计模式之享元模式(FlyWeight)相关的知识,希望对你有一定的参考价值。

享元模式是一种对象结构型模式,通过运用共享技术,有效地支持大量细粒度的对象。系统只使用少量的对象,而这些对象都很相似,状态变化很小,对象使用次数增多。享元对象能做到共享的关键是区分内部状态和外部状态。内部状态存储在享元对象内部并且不会随坏境改变而改变,因此内部状态可以共享;外部状态时随环境改变而改变的、不可以共享的状态,享元对象的外部状态必须由客户端保存,并在享元对象被创建之后,在需要使用的时候再传入到享元对象内部,外部状态之间是相互独立的。

优点:

1)减少了要处理的对象数目。

2)如果对象能够持续,可以减少内存和存储设备。

使用场景:

1)应用程序使用大量的对象。

2)由于对象数目巨大,导致很高的存储开销。

3)应用程序不依赖于对象的身份。

技术分享

FlyWeight 模式

以上是关于23种设计模式之享元模式(FlyWeight)的主要内容,如果未能解决你的问题,请参考以下文章

JAVA设计模式之享元模式(flyweight)

JAVA设计模式之享元模式(flyweight)

"围观"设计模式(17)--结构型之享元模式(Flyweight Pattern)

设计模式---对象性能模式之享元模式(Flyweight)

秒懂设计模式之享元模式(Flyweight Pattern)

设计模式系列之享元模式(Flyweight Pattern)——实现对象的复用