在很多系统中,会存在这样的情况:对象数量非常多对象之间大量属性是相同的只有少量状态不同如果每个对象都完整创建,就会导致:内存占用巨大对象创建成本高系统性能下降这时候就可以使用享元模式(Flyweight)。一、享元模式解决什么问题?一句话:通过共享对象,减少内存使用。核心思想:把对象中可共享的部分提取出来多个对象共享同一份数据只把不同的部分作为外部状态关键词:对象共享内存优化内部状态外部状态二、一个典型场景:文本编辑器假设一个文档有100万字符。每个字符对象可能包含:字符内容字体字号颜色位置如果每个字符都是完整对象:1000000×字体信息×样式信息大量数据是重复的。例如:字符:"A...
阅读全文 →