我必须创建一个COM API,它基本上会从XML中读取一些数据,对它进行一些处理并将一些数据作为字符串返回。
此API将位于COM DLL中,大部分时间都在内存中。
我创建了一个结构来保存内存中的数据,可以将其用作缓存,以避免每次调用API时都读取文件。
我可以创建一个单例类,它可以进行一些处理并将数据存储在缓存中。每当数据发生变化时,它都会更新缓存并将文件都存储起来。
但是这个单例类只有在调用API时才会被使用。这个单例类不是全局需要的。在阅读了几篇关于单身人士的文章后,单独使用单例进行缓存管理并不是一个好习惯。
我不想去单身,但没有任何其他解决方案。 任何建议???
答案 0 :(得分:0)
据我所知,您希望从其他程序可以访问COM,那么为什么不将COM作为“进程外”。你将在内存中有一个实例来缓存你的数据。
答案 1 :(得分:0)
基本上它是工厂+战略模式的组合。工厂创建实例和策略来选择从缓存或XML文件获取的算法。