請教前輩們:關於FlyWeight的理解

pigangel發表於2004-02-13
看了banq的教程,還是有些不解,希望前輩們可以為俺解惑:

我比較容易理解的一種解決方法是:將ConcreteFlyweight類作為HashTable的key,而ExtrinsicState類則是對應的value,這樣來建立內外部狀態之間的一種關聯。但是教程中的描述是將ConcreteFlyweight作為value傳進去,其本身只有一個process函式處理ExtrinsicState,但是並沒有儲存共享的內部狀態與外部狀態的對應關係,這部分對應關係在哪裡實現吶?

具體來說:在引用的cd庫的例子中,HashTable存放了Artist的資訊,此外的儲存year和cdname資訊的ExtrinsicState類如何處置呢,他們與artist的對應關係又如何呢?

謝謝回答

相關文章