首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计模式-享元方式

2014-04-20 
设计模式-享元模式享元模式(Flyweight Pattern)享元模式,以共享的方式高效地支持大量的细粒度对象。通过复

设计模式-享元模式
享元模式(Flyweight Pattern)
享元模式,以共享的方式高效地支持大量的细粒度对象。通过复用内存中已存在的对象,降低系统创建对象实例的性能消耗。

以黑白五子棋为例



测试结果
创建白棋子白棋子 (1,1)白棋子 (2,2)创建黑棋子黑棋子 (3,3)黑棋子 (4,4)


享元模式的两种状态:内蕴状态和外蕴状态
1.内蕴状态:
  享元模式的内蕴状态是不会随环境的改变而改变的,是存储在享元对象内部的状态信息,因此内蕴状态是可以共享的,对于任何一个享元对象来讲,它的值是完全相同的。就像上面例子中的“黑子”和“白子”,它代表的状态就是内蕴状态。
2.外蕴状态
  外蕴状态会随环境的变化而改变的,因此是不可共享的状态,对于不同的享元对象来讲,它的值可能是不同的。享元对象的外蕴状态必须由客户端保存,在享元对象被创建之后,需要使用的时候再传入到享元对象的内部。就像五子棋的位置信息,代表的状态就是享元对象的外蕴状态。

热点排行