Шаблон проектирования для управления кешем - PullRequest
0 голосов
/ 03 июля 2010

Мне нужно создать COM API, который в основном будет считывать некоторые данные из XML, выполнять некоторую обработку и возвращать некоторые данные в виде строки.

Этот API будет в COM DLL, которая будет в памятив большинстве случаев.

Я создал структуру для хранения данных в памяти, которая может использоваться в качестве кэша, чтобы избежать чтения файла каждый раз, когда вызывается API.

Я могу создатьСинглтон-класс, который может выполнять некоторую обработку и сохранять данные в кеше. Когда данные изменяются, он обновляет кеш и файл.не требуется глобально.После прочтения нескольких статей о синглтоне, не рекомендуется использовать синглтон только для управления кэшем.

Я не хочу использовать синглтон, но у меня нет другого решения для этого.Любые предложения ???

Ответы [ 2 ]

0 голосов
/ 19 мая 2017

В основном это комбинация фабрики и стратегии.Фабрика для создания экземпляра и стратегии для выбора алгоритма, такого как получение из кэша или файла XML.

0 голосов
/ 03 июля 2010

Насколько я понял, вы хотите, чтобы COM был доступен из других программ, так почему бы не сделать COM "вне процесса". у вас будет один экземпляр в памяти, где вы можете кэшировать свои данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...