2010-07-03 72 views
0

我必須創建一個COM API,它基本上會從XML中讀取一些數據,對其進行一些處理並將一些數據作爲字符串返回。緩存管理的設計模式

這個API將在COM DLL中,它將在內存中大部分時間。

我已經創建了一個結構來保存可以用作緩存的數據,以避免每次調用API時讀取文件。

我可以創建一個單例類,它可以做一些處理並將數據存儲在緩存中。每當數據發生變化時,它都會更新緩存和文件。

但是這個singleton類只會在API被調用時才被使用。這個singleton類並不是全局所需要的。在閱讀了關於單身人士的幾篇文章之後,將單身人士用於緩存管理並不是一個好習慣。

我不想去單身人士,但沒有任何其他的解決方案。 任何建議???

+0

爲什麼不只是把所有的函數和數據放到像「xmlcache」之類的名字空間呢? – 2010-07-03 17:57:30

回答

0

據我所知你想要一個COM可以從其他程序到達,所以爲什麼不使COM爲「失控」。您將在內存中有一個可以緩存數據的實例。

0

基本上它是工廠+戰略模式的組合。工廠創建實例和策略來選擇像從緩存或XML文件中獲取的算法。