В настоящее время я разрабатываю библиотеку классов, которая будет предоставлять данные для механизма рендеринга графов веб-приложений на C #. В настоящее время я определяю интерфейсы этой библиотеки.
У меня есть интерфейс IGraphData, который я хотел бы кэшировать с помощью службы, которая обращается к кешу, это называется IGraphDataCacheService и имеет методы set и get для добавления и извлечения объектов IGraphData в кеш и из него. служба кэширования будет одноэлементной.
Я не совсем понимаю, как правильно реализовать это, так что существует только одна служба кэширования, которая может получать и устанавливать общие объекты IgraphData.
Я придумал это:
interface IGraphDataCacheService {
IGraphData<object> Get(string identifier);
void Set(IGraphData<object> graphData);}
или это:
T Get<T, P>(string identifier) where T : IGraphData<P>;
void Set<T,P>(T graphData) where T : IGraphData<P>;
Может ли кто-нибудь предложить какой-нибудь совет помощи?
Спасибо