缓存管理的设计模式

时间:2010-07-03 17:53:48

标签: c++ design-patterns caching singleton

我必须创建一个COM API,它基本上会从XML中读取一些数据,对它进行一些处理并将一些数据作为字符串返回。

此API将位于COM DLL中,大部分时间都在内存中。

我创建了一个结构来保存内存中的数据,可以将其用作缓存,以避免每次调用API时都读取文件。

我可以创建一个单例类,它可以进行一些处理并将数据存储在缓存中。每当数据发生变化时,它都会更新缓存并将文件都存储起来。

但是这个单例类只有在调用API时才会被使用。这个单例类不是全局需要的。在阅读了几篇关于单身人士的文章后,单独使用单例进行缓存管理并不是一个好习惯。

我不想去单身,但没有任何其他解决方案。 任何建议???

2 个答案:

答案 0 :(得分:0)

据我所知,您希望从其他程序可以访问COM,那么为什么不将COM作为“进程外”。你将在内存中有一个实例来缓存你的数据。

答案 1 :(得分:0)

基本上它是工厂+战略模式的组合。工厂创建实例和策略来选择从缓存或XML文件获取的算法。