关于Flyweight 的疑问,请高手作答,先谢了!1

03-01-05 hgwnet

设计模式上的每个享元定义似乎都有外部状态的定义!?

如每个字的定义包括了字别(这个叫做享元没错)和Size、color,其中的size等均属外部状态,这样岂不是每个字对象就没有同质化了么?!还谈什么节约内存啊?!

banq
2003-01-05 21:35

Flyweight一般使用"字"来做例子说明,这个例子一般人接触不是很多,容易理解偏颇,我觉得从数据库的连接池或对象池这样经常使用的实例去理解比较容易:

本来数据库的连接访问属于耗时 费周折,属于"weight",那么我们可以重用这些连接,这样,这些"weight"好像在fly,所以Flyweight翻译成享元只是从原理上翻译,并没有从字面上去真实的翻译。

geshe
2003-01-07 19:36

推荐看一下 阎宏 的《JAVA与模式》。

感觉他有些名词的中文翻译很不错。