知识卡片

享元适用条件

普通读书笔记卡 · 1921.f.1

内容

当系统拥有大量相似小对象,且大部分状态可被外置时,享元才有价值。否则共享管理成本可能超过收益。发散:性能模式要用数据规模触发,而不是用设计洁癖触发。

参考来源

- 位置:第4章《结构型模式》4.6节「Flyweight(享元)」3.适用性(源文件:_epub-src/OEBPS/Text/part0075.xhtml) - 结论依据:原文明确列出享元模式的适用条件——应用程序使用大量对象、存储开销大部分由对象数量造成、对象大多数状态可变为外部状态、删除外部状态后可用较少共享对象取代,直接支持卡片对享元只有在大量相似小对象且大部分状态可外置时才有价值的论述。 - 原始内容:"当以下情况都成立时使用Flyweight模式:一个应用程序使用了大量的对象。完全由于使用大量的对象造成很大的存储开销。对象的大多数状态都可变为外部状态。如果删除对象的外部状态,那么可以用相对较少的共享对象取代很多组对象。"