看了banq的教程,还是有些不解,希望前辈们可以为俺解惑:
我比较容易理解的一种解决方法是:将ConcreteFlyweight类作为HashTable的key,而ExtrinsicState类则是对应的value,这样来建立内外部状态之间的一种关联。但是教程中的描述是将ConcreteFlyweight作为value传进去,其本身只有一个process函数处理ExtrinsicState,但是并没有保存共享的内部状态与外部状态的对应关系,这部分对应关系在哪里实现呐?
具体来说:在引用的cd库的例子中,HashTable存放了Artist的信息,此外的保存year和cdname信息的ExtrinsicState类如何处置呢,他们与artist的对应关系又如何呢?
谢谢回答