Avere una lista cache statica globalmente senza interrompere l'incapsulamento?

1

Ho un paio di wrapper attorno a API di terze parti che mi consentono di recuperare informazioni da determinati servizi web. Interrogare questi servizi può richiedere un po 'di tempo, quindi nella mia versione precedente della mia applicazione ho creato oggetti statici globali che mantenevano un elenco di dati in cache per l'interrogazione successiva.

Come posso mantenere questi elenchi globali senza interrompere l'incapsulamento del mio progetto.

Quando completata, la struttura del progetto sarà simile alla seguente:

SyncTool.Core
---ServicesWrapper
------Service1
---------GetUsers
------Service2
---------GetUsers
---Service1Controller
------CreateCase // Access a cached List
---Service2Controller
------CreateTicket // Access a cached List

SyncTool.Web
---WebController
------ReceiveService1Request
---------CreateTicketFromCase
------ReceiveService2Request
---------CreateCaseFromTicket

Fondamentalmente il mio core di applicazione incapsula i servizi principali e traduce i loro oggetti in un nuovo tipo di oggetto che può essere letto da entrambi i servizi. Ma durante la traduzione di un oggetto in un altro, c'è una grande quantità di informazioni che devono essere consultate, la maggior parte delle quali è attualmente memorizzata nella cache.

    
posta JD Davis 03.12.2015 - 21:56
fonte

0 risposte

Leggi altre domande sui tag