Dichiarazione di non responsabilità: sto utilizzando C # per esempi di codice. Ma immagino che dovrebbero essere leggibili / comprensibili per tutti. Se non lo sono: si prega di lasciare un commento.
Va bene ho un'applicazione client-server. Il server può essere esteso con Agenti . Un agente può essere utilizzato per distribuire i carichi.
Un agente dovrebbe avere alcune variabili statiche come ID
ecc. Tutti questi valori saranno auto-generati (es .: ID = Guid.NewGuid()
. Il ID
dovrebbe essere una volta impostato e sempre uguale. riavvia l'agente.
Il mio primo pensiero è che voglio avere una specie di classe Config che contenga queste variabili.
class Config
{
public Guid ID { get; private set; }
// ...
}
Va bene quando un agente si avvia dovrebbe controllare IsConfigurationInitialized
. Se non lo è, inizializzalo.
Ho pensato che sarebbe stata una buona idea non preoccuparsi dell'initalizzazione della configurazione. Quindi la configurazione stessa verifica nel costruttore se ha bisogno di essere initalizzata. Quindi il mio percorso principale dell'applicazione fa qualcosa di simile a Config config = new Config();
Ma per qualche ragione ritengo che questa sia una cattiva idea dato che la classe è solo una variabile titolare.
Alla mia domanda:
L'esempio sopra riportato infrange il SOC o qualsiasi altro principio di progettazione?