{C++ 基础} {C++ 高级} {C#界面,C++核心算法} {设计模式} {C#基础}
享元模式应当在什么情况下使用
当以下所有的条件都满足时,可以考虑使用享元模式:
满足以上的这些条件的系统可以使用享元对象。
最后,使用享元模式需要维护一个记录了系统已有的所有享元的表,而这需要耗费资源。因此,应当在有足够多的享元实例可供共享时才值得使用享元模式。
享元模式的优点在于它大幅度地降低内存中对象的数量。但是,它做到这一点所付出的代价也是很高的:
享元模式的应用
享元模式在编辑器系统中大量使用。一个文本编辑器往往会提供很多种字体,而通常的做法就是将每一个字母做成一个享元对象。享元对象的内蕴状态就是这个字母,而字母在文本中的位置和字模风格等其他信息则是外蕴状态。比如,字母a可能出现在文本的很多地方,虽然这些字母a的位置和字模风格不同,但是所有这些地方使用的都是同一个字母对象。这样一来,字母对象就可以在整个系统中共享。
posted on 2006-01-03 15:50 梦在天涯 阅读(712) 评论(0) 编辑 收藏 引用 所属分类: Design pattern