首页 > 代码库 > 【我的设计模式】享元模式

【我的设计模式】享元模式

享元模式(Flyweight),使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于只是因重复而导致使用无法令人接受的大量内存的大量物件。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元(from维基百科)。

应用场景

例如Java String类型的设计,避免了在创建大量的String对象时产生的不必要的资源损耗,可以理解为享元模式的应用。

概念解释

享元模式采用一个共享来避免大量拥有相同内容对象的开销。这种开销中最常见、直观的就是内存的损耗。

享元模式以共享的方式高效的支持大量的细粒度对象。