È buona norma memorizzare le costanti nei file di configurazione [duplicato]

0

Nel mio progetto ho alcune costanti in cui faccio riferimento quasi ovunque:

public sealed class Constants{
    public static readonly int MAX_QUAL { get; } = 1080;
    public static readonly bool CC { get; set;} = false;
}

È una buona pratica memorizzare questi valori nel codice dell'applicazione stesso, in modo simile allo snippet precedente, o nei file di configurazione (App.config / Web.config / project.json / Manifest.xml ecc.),

<appSettings>
  <add key="MAX_QUAL" value="1080" />
  <add key="CC" value="false" />
</appsettings>

e poi leggerli attraverso questi file sul runtime?

public static readonly int MAX_QUAL { get; } = Convert.ToInt32(
    System.Configuration.ConfigurationManager.AppSettings["MAX_QUAL"]);

Voglio strutturare l'applicazione in modo che i non sviluppatori possano modificare questi valori se necessario, senza dover cambiare il codice sorgente stesso. Uno scenario è quando il provider cambia la chiave SDK mentre lo sviluppatore è fuori per le vacanze e qualcuno deve aggiornare questi valori.

    
posta Hanjun Chen 08.02.2018 - 17:53
fonte

1 risposta

0

I want to structure the application in a way that non-developers can change these values if it is necessary

Sì, il modo più semplice è un file di configurazione. Potresti anche prendere in considerazione

  • argomenti della riga di comando
  • un database o servizio interrogato
  • file nascosti, forse in App_Data ma con un'interfaccia utente per cambiarli
risposta data 08.02.2018 - 18:04
fonte

Leggi altre domande sui tag