Attualmente stiamo aggiornando alcuni componenti della nostra applicazione a nuove tecnologie come C # usando WPF e MVVM. Dal momento che cerchiamo di evitare gli errori passati che sono stati fatti nelle nostre applicazioni ora legacy, nel nostro team è venuta una domanda su come dovremmo spedire risorse esterne che potrebbero cambiare, come icone o immagini. Nelle nostre applicazioni legacy erano fondamentalmente incorporati in ogni applicazione, che richiedeva una ricompilazione completa delle applicazioni solo per cambiare qualche icona. Non vogliamo semplicemente scaricare i file raw in una cartella, poiché alcuni di essi potrebbero essere concessi in licenza e non dovrebbero essere direttamente accessibili al cliente.
Abbiamo pensato di suddividere tutte le nostre risorse in un file esterno (come una DLL), a cui tutte le nostre applicazioni possono accedere. Quindi ogni volta che alcune risorse vengono cambiate, dobbiamo solo spedire una nuova versione della nostra libreria di risorse. Tuttavia ci sono alcuni casi in cui non è desiderabile una memoria generale, ad esempio se dovesse cambiare solo una icona specifica in una singola applicazione. Se dovessimo sostituire la risorsa, probabilmente cambierebbe in tutte le applicazioni che utilizzano quella risorsa.
In che modo le "grandi" applicazioni gestiscono questo o esiste una best practice su come farlo?