请教前辈们:关于FlyWeight的理解

04-02-13 pigangel
看了banq的教程,还是有些不解,希望前辈们可以为俺解惑:

我比较容易理解的一种解决方法是:将ConcreteFlyweight类作为HashTable的key,而ExtrinsicState类则是对应的value,这样来建立内外部状态之间的一种关联。但是教程中的描述是将ConcreteFlyweight作为value传进去,其本身只有一个process函数处理ExtrinsicState,但是并没有保存共享的内部状态与外部状态的对应关系,这部分对应关系在哪里实现呐?

具体来说:在引用的cd库的例子中,HashTable存放了Artist的信息,此外的保存year和cdname信息的ExtrinsicState类如何处置呢,他们与artist的对应关系又如何呢?

谢谢回答

    

banq
2004-02-17 22:56
内部状态与外部状态的对应关系?

不是很明白你的问题,这种对应关系应该不是这里讨论的重点,已经被隐去。

bruce
2004-02-19 10:44
Flyweight应是一种对象池中对象重用的概念吧. 象statless bean 和 db connection pool. 欢迎讨论.

pigangel
2004-03-02 10:59
初学模式,一些概念还比较模糊

俺只是看那个教程的时候例子代码没看懂,

故有此一问,待会儿再仔细看看

pikachu
2004-03-07 11:54
利用flyweight时,ConcreteFlyweight和ExtrinsicState之间的关系很可能是在外部保存的。

比如,cd这个例子中的所有关系是在一份xml文件中。

猜你喜欢